Bug 1248347
Summary: | heat stack-list and nova list return empty tables if deployment was done via UI | ||
---|---|---|---|
Product: | Red Hat OpenStack | Reporter: | Ola Pavlenko <opavlenk> |
Component: | rhosp-director | Assignee: | Jiri Tomasek <jtomasek> |
Status: | CLOSED ERRATA | QA Contact: | Ola Pavlenko <opavlenk> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | Director | CC: | adahms, augol, jslagle, jtomasek, mburns, mcornea, nbarcet, ohochman, rbrady, rhel-osp-director-maint, ukalifon |
Target Milestone: | async | Keywords: | ZStream |
Target Release: | Director | ||
Hardware: | Unspecified | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | openstack-tuskar-ui-0.3.0-14.el7ost | Doc Type: | Bug Fix |
Doc Text: |
Previously, a bug in openstack-auth prevented users from selecting the tenant that is active upon login when using the Keystone v2 API. This would result in situations such as the 'service' tenant being displayed on login to the director user interface instead of the 'admin' tenant. With this update, the tenant selector has been enabled in the director's user interface header, allowing users to select the correct tenant after login.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2015-08-13 20:03:59 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Ola Pavlenko
2015-07-30 07:26:40 UTC
can you try: nova list --all-tenants Here it is: $ nova list --all-tenants +--------------------------------------+------------------------+----------------------------------+--------+------------+-------------+---------------------+ | ID | Name | Tenant ID | Status | Task State | Power State | Networks | +--------------------------------------+------------------------+----------------------------------+--------+------------+-------------+---------------------+ | 21d4d809-10f0-4ce2-8edc-da8cfb582892 | overcloud-compute-0 | 17b721ac7c80485c8d84e2c023f9b6f6 | ACTIVE | - | Running | ctlplane=192.0.2.9 | | c279067d-62cf-4f1b-8066-d22cccdb06df | overcloud-controller-0 | 17b721ac7c80485c8d84e2c023f9b6f6 | ACTIVE | - | Running | ctlplane=192.0.2.10 | +--------------------------------------+------------------------+----------------------------------+--------+------------+-------------+---------------------+ UI uses admin user in nova and heat to create stuff. MariaDB [heat]> select name, owner_id, username, status, status_reason from stack; +---------------------------------------------------------------------------------------------------------------+--------------------------------------+----------+----------+-------------------------------------+ | name | owner_id | username | status | status_reason | +---------------------------------------------------------------------------------------------------------------+--------------------------------------+----------+----------+-------------------------------------+ | overcloud-CephClusterConfig-fbpqvjiwqqjy | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerNodesPostDeployment-rs4iolq5c2fy-ExtraConfig-h6jeiv4g5hph | bb03278a-1b81-4de1-b9dc-7d355f0aef46 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Controller-fr3j3m7xryqv-0-w7h523uyeq3q-UpdateConfig-yenwenapvfip | a1b5c351-41ce-483d-afdf-69c6a7e80adf | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Compute-icbqo3y27ohs | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-CephStorageCephDeployment-bgzicso4tyob | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerIpListMap-4yyneivf4x6b | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerNodesPostDeployment-rs4iolq5c2fy-ControllerServicesBaseDeployment_Step2-grxzutxuxs2t | bb03278a-1b81-4de1-b9dc-7d355f0aef46 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-BlockStorageAllNodesDeployment-tfmgck67kg7k | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-CephStorageNodesPostDeployment-hzaluza7ajp6 | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-StorageMgmtVirtualIP-7zgyumld3fqm | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ComputeNodesPostDeployment-7p2hfk7o23h3-ComputePuppetDeployment-wzidzuu5pc6u | 825f6845-a3d6-4862-a774-e0d535da4b4c | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-CephStorageNodesPostDeployment-hzaluza7ajp6-ExtraConfig-jimlzyw6ptvy | 29788d8d-e25b-40fb-a958-b1551cb48175 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerBootstrapNodeDeployment-vzec7hitp6tf | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Networks-s72l42g77hwy-StorageMgmtNetwork-hmj7qg3win26 | 7546a463-9e59-42a0-9f47-34d5061aacc4 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerNodesPostDeployment-rs4iolq5c2fy-ControllerLoadBalancerDeployment_Step1-n3b2imdpvr7r | bb03278a-1b81-4de1-b9dc-7d355f0aef46 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Ceph-Storage-l5yxzmqmlxvc | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-BlockStorageNodesPostDeployment-sn2fceh6dpun-VolumeDeployment_Step1-yjhgxfsywkl2 | e1c0ee96-0f30-4d74-b6bb-e64b9c3b4241 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Controller-fr3j3m7xryqv-0-w7h523uyeq3q-NodeUserData-46ldl7t6drxg | a1b5c351-41ce-483d-afdf-69c6a7e80adf | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Controller-fr3j3m7xryqv-0-w7h523uyeq3q-TenantPort-ngszls63pjr5 | a1b5c351-41ce-483d-afdf-69c6a7e80adf | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Controller-fr3j3m7xryqv-0-w7h523uyeq3q-ExternalPort-djm6wws635zy | a1b5c351-41ce-483d-afdf-69c6a7e80adf | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ComputeCephDeployment-pwzkseelo36f | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Controller-fr3j3m7xryqv-0-w7h523uyeq3q-StoragePort-2woudl5qjqxo | a1b5c351-41ce-483d-afdf-69c6a7e80adf | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Networks-s72l42g77hwy-ExternalNetwork-5o7bsshbkyjj | 7546a463-9e59-42a0-9f47-34d5061aacc4 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-RedisVirtualIP-v3bpgfbgy72c | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Controller-fr3j3m7xryqv-0-w7h523uyeq3q-NetworkConfig-ybnkccwacqfl | a1b5c351-41ce-483d-afdf-69c6a7e80adf | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-StorageVirtualIP-lbx5r4mf733s | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Networks-s72l42g77hwy | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ObjectStorageNodesPostDeployment-rv3y5vzaojyi | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ComputeAllNodesDeployment-m53c236kvaka | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerCephDeployment-t36r47kjd3vk | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Swift-Storage-ufxgqbrvxlfa | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerNodesPostDeployment-rs4iolq5c2fy-ControllerRingbuilderDeployment_Step3-w7khaevz2v7h | bb03278a-1b81-4de1-b9dc-7d355f0aef46 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ComputeNodesPostDeployment-7p2hfk7o23h3 | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Compute-icbqo3y27ohs-0-muqioipcqmy6-StoragePort-zin5nt2en6wh | d6cb2621-6722-415a-b3bd-d4de01fb1729 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-PublicVirtualIP-clbegxti74jh | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerAllNodesDeployment-nqn775zea76a | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerNodesPostDeployment-rs4iolq5c2fy-ControllerOvercloudServicesDeployment_Step7-wpx6op2bwqkf | bb03278a-1b81-4de1-b9dc-7d355f0aef46 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ObjectStorageSwiftDeployment-dkfd6lsefuet | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerClusterDeployment-duetstz7y4pi | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerNodesPostDeployment-rs4iolq5c2fy-ControllerOvercloudServicesDeployment_Step5-yctgqfcknvha | bb03278a-1b81-4de1-b9dc-7d355f0aef46 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Compute-icbqo3y27ohs-0-muqioipcqmy6-NetIpMap-2kd7diedqo7d | d6cb2621-6722-415a-b3bd-d4de01fb1729 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Controller-fr3j3m7xryqv-0-w7h523uyeq3q | c54d267c-9cef-45ef-ab1d-0b0e5b4dbe82 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-VipDeployment-wvuea7ot4wbn | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-allNodesConfig-tvzhhitly5ev | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-SwiftDevicesAndProxyConfig-2vxjzvykb77a | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud | NULL | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Controller-fr3j3m7xryqv-0-w7h523uyeq3q-StorageMgmtPort-it7mkggcfi2f | a1b5c351-41ce-483d-afdf-69c6a7e80adf | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-VipConfig-2eooqtze6mfe | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerNodesPostDeployment-rs4iolq5c2fy-ControllerPuppetConfig-n3aeerwdr4vp | bb03278a-1b81-4de1-b9dc-7d355f0aef46 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ObjectStorageNodesPostDeployment-rv3y5vzaojyi-ExtraConfig-o55kylu4gfvb | 7c29d27a-ee98-4af8-b286-2bc1cef9804b | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-VipMap-3bqnhato5p2g | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-InternalApiVirtualIP-xtis6h5t336x | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerBootstrapNodeConfig-mcsivykjsr3m | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerNodesPostDeployment-rs4iolq5c2fy | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Compute-icbqo3y27ohs-0-muqioipcqmy6-InternalApiPort-gixdmkixp2gp | d6cb2621-6722-415a-b3bd-d4de01fb1729 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Controller-fr3j3m7xryqv-0-w7h523uyeq3q-NetIpSubnetMap-yyvle7ihdgsc | a1b5c351-41ce-483d-afdf-69c6a7e80adf | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Networks-s72l42g77hwy-TenantNetwork-2h6odgn6lips | 7546a463-9e59-42a0-9f47-34d5061aacc4 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Compute-icbqo3y27ohs-0-muqioipcqmy6-UpdateConfig-skrddwncjnic | d6cb2621-6722-415a-b3bd-d4de01fb1729 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Controller-fr3j3m7xryqv | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Compute-icbqo3y27ohs-0-muqioipcqmy6-NodeUserData-gyde5guu6spk | d6cb2621-6722-415a-b3bd-d4de01fb1729 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-CephStorageNodesPostDeployment-hzaluza7ajp6-CephStorageDeployment_Step1-7cqylxxxqjyw | 29788d8d-e25b-40fb-a958-b1551cb48175 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Compute-icbqo3y27ohs-0-muqioipcqmy6-TenantPort-4gw5ko5s3ht2 | d6cb2621-6722-415a-b3bd-d4de01fb1729 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ObjectStorageNodesPostDeployment-rv3y5vzaojyi-StorageRingbuilderDeployment_Step2-x2amxgae67nk | 7c29d27a-ee98-4af8-b286-2bc1cef9804b | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ObjectStorageNodesPostDeployment-rv3y5vzaojyi-StorageDeployment_Step1-6s5hbav6l4eo | 7c29d27a-ee98-4af8-b286-2bc1cef9804b | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Cinder-Storage-y372pzmjvh2u | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerNodesPostDeployment-rs4iolq5c2fy-ControllerOvercloudServicesDeployment_Step6-phwiq74qrru6 | bb03278a-1b81-4de1-b9dc-7d355f0aef46 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Compute-icbqo3y27ohs-0-muqioipcqmy6 | 081407c4-928f-498b-baf3-e8663db97b6c | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Networks-s72l42g77hwy-StorageNetwork-lhntd227vvbc | 7546a463-9e59-42a0-9f47-34d5061aacc4 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Controller-fr3j3m7xryqv-0-w7h523uyeq3q-InternalApiPort-gt3pg22z4xqo | a1b5c351-41ce-483d-afdf-69c6a7e80adf | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Controller-fr3j3m7xryqv-0-w7h523uyeq3q-NetIpMap-osm6h7srf72m | a1b5c351-41ce-483d-afdf-69c6a7e80adf | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-CephStorageAllNodesDeployment-z4aawkpbsdj5 | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Controller-fr3j3m7xryqv-0-w7h523uyeq3q-ControllerExtraConfigPre-ig6qonm5i2pi | a1b5c351-41ce-483d-afdf-69c6a7e80adf | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-BlockStorageNodesPostDeployment-sn2fceh6dpun | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Compute-icbqo3y27ohs-0-muqioipcqmy6-NetworkConfig-mvlfn3jv4k2g | d6cb2621-6722-415a-b3bd-d4de01fb1729 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-Networks-s72l42g77hwy-InternalNetwork-54a7aoallmd7 | 7546a463-9e59-42a0-9f47-34d5061aacc4 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ObjectStorageAllNodesDeployment-rvmjh3pt7t5e | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ComputeNodesPostDeployment-7p2hfk7o23h3-ExtraConfig-kq43h6anamld | 825f6845-a3d6-4862-a774-e0d535da4b4c | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerSwiftDeployment-jrenupoit4ou | a6140c06-483a-40bb-bd38-038d7badd645 | admin | COMPLETE | Stack CREATE completed successfully | | overcloud-ControllerNodesPostDeployment-rs4iolq5c2fy-ControllerOvercloudServicesDeployment_Step4-lzj44utiuxeu | bb03278a-1b81-4de1-b9dc-7d355f0aef46 | admin | COMPLETE | Stack CREATE completed successfully | +---------------------------------------------------------------------------------------------------------------+--------------------------------------+----------+----------+-------------------------------------+ MariaDB [keystone]> select id, name from user where id='3fe7d4a0b8b34e0fb00db1c4690e9001'; +----------------------------------+-------+ | id | name | +----------------------------------+-------+ | 3fe7d4a0b8b34e0fb00db1c4690e9001 | admin | +----------------------------------+-------+ MariaDB [nova]> select user_id,node,hostname from instances; +----------------------------------+--------------------------------------+------------------------+ | user_id | node | hostname | +----------------------------------+--------------------------------------+------------------------+ | 3fe7d4a0b8b34e0fb00db1c4690e9001 | 43e5c81b-7927-4ea9-9ea1-2124478db5bf | overcloud-compute-0 | | 3fe7d4a0b8b34e0fb00db1c4690e9001 | 11650129-a348-4b0c-980f-89288ee97922 | overcloud-controller-0 | +----------------------------------+--------------------------------------+------------------------+ 2 rows in set (0.00 sec) Problem is that CLI uses 'admin' tenant and in UI the tenant gets picked by openstack-auth that horizon/tuskar-ui uses for login. openstack-auth should use user's default tenant which is defined in tenantId on user, but it doesn't and instead picks the first one ordered by id. So in some cases UI uses 'service' tenant instead. Here I switched CLI to use 'service' tenant and I can see the nova list and heat stack-list that UI created. [root@instack ~]# keystone tenant-list +----------------------------------+----------+---------+ | id | name | enabled | +----------------------------------+----------+---------+ | eea5e4b8e68849e59d3841b91a499f4d | admin | True | | 59c439a2d7ea47fc8162c8600875836b | service | True | | eb984350c9954b009bb18efa7f7b6a77 | services | True | +----------------------------------+----------+---------+ [root@instack ~]# keystone token-get +-----------+----------------------------------+ | Property | Value | +-----------+----------------------------------+ | expires | 2015-07-30T17:12:12Z | | id | 54b471d5a68e4d0e8e7c9bf79dbb02f9 | | tenant_id | 59c439a2d7ea47fc8162c8600875836b | | user_id | fe82b620f7024fa8bcb30802c2f64504 | +-----------+----------------------------------+ [root@instack ~]# nova list +--------------------------------------+------------------------+--------+------------+-------------+---------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+------------------------+--------+------------+-------------+---------------------+ | 94f5f6ea-928c-4b8e-b57e-335f4cb64866 | overcloud-compute-0 | ACTIVE | - | Running | ctlplane=192.0.2.9 | | 9469b3ad-83e2-4310-888b-f9bd19e71cdc | overcloud-controller-0 | ACTIVE | - | Running | ctlplane=192.0.2.11 | | df44a2e6-c3c0-4790-8d95-bbc59848d184 | overcloud-controller-1 | ACTIVE | - | Running | ctlplane=192.0.2.10 | | b92cff59-6175-44a9-bfb0-ba5702d1ee9c | overcloud-controller-2 | ACTIVE | - | Running | ctlplane=192.0.2.12 | +--------------------------------------+------------------------+--------+------------+-------------+---------------------+ [root@instack ~]# heat stack-list +--------------------------------------+------------+--------------------+----------------------+ | id | stack_name | stack_status | creation_time | +--------------------------------------+------------+--------------------+----------------------+ | b91c937b-194c-4df4-b98d-c1e0719b1386 | overcloud | CREATE_IN_PROGRESS | 2015-07-30T11:55:26Z | +--------------------------------------+------------+--------------------+----------------------+ I am going to fix it in django_openstack_auth to make it use default tenant. Idea: Add DEFAULT_TENANT to settings.py use that to set the tenant since we don't have it in the authenticate method. It can be overridden in the local_settings to allow for customization per environment. Got to this launchpad bug, that explains it all: https://bugs.launchpad.net/horizon/+bug/1023502/comments/10 Ryan: Thinking about your solution, I think it is quite too hacky. I'd basically have to hijack this code https://github.com/openstack/django_openstack_auth/blob/master/openstack_auth/backend.py#L137-L175 and replace it by default tenant that we'd specify in settings.py. This means: 1/ create dirty hack patch that would get applied on downstream openstack-auth package creation 2/ add settings.py option to Horizon (upstream? probably just downstream) and we'd have to maintain this. Personally I think it is not a good way to fix the problem. IMO better solution is to enable tenant switching in Tuskar-UI - should be really simple and document, that user should switch tenant to 'admin'. AFAIK this should be one-time think because selected tenant will then get recent_projects and should get selected when user logs in again. I am going to implement patch that enables tenant switching in Tuskar-UI now. Upstream Tuskar-UI patch: https://review.openstack.org/#/c/207799/ Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2015:1624 *** Bug 1252815 has been marked as a duplicate of this bug. *** |