The landing page cannot load the list of domains

Bug #1992323 reported by Apeng
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
skyline apiserver
New
Wishlist
Boxiang Zhu

Bug Description

openstack version: Train
Hi, after deploying as docker, I open the login page, the region is displayed correctly but the domain list is empty, which prevents me from selecting the domain to complete the login. I have checked the region and domain list via command line tool.
Please see the attachment for the configuration file and docker logs.
Thanks!

[root@ctrl02 ~]# openstack region list
+--------+---------------+-------------+
| Region | Parent Region | Description |
+--------+---------------+-------------+
| YHDC01 | None | |
+--------+---------------+-------------+
[root@ctrl02 ~]# openstack domain list
+----------------------------------+-------------+---------+--------------------------+
| ID | Name | Enabled | Description |
+----------------------------------+-------------+---------+--------------------------+
| af9194c3*********83db129bf096ecd | Domain_heat | True | Stack projects and users |
| default | Default | True | The default domain |
+----------------------------------+-------------+---------+--------------------------+
[root@ctrl02 ~]#

Revision history for this message
Apeng (user0x5a0x50) wrote :
Revision history for this message
Apeng (user0x5a0x50) wrote :
description: updated
Revision history for this message
Boxiang Zhu (bxzhu-5355) wrote :

openstack:
  base_domains:
  - Default

I see you set the base_domains as Default. The base_domains will be ignored from the domains list api.I should set this with 'Domain_heat'

Revision history for this message
Apeng (user0x5a0x50) wrote :

Thanks for your answer, I tried to remove the 'default' item and re-executed the deployment process, but there is still no list of available domains.

root@debian:/etc/skyline# vi skyline.yaml

openstack:
  base_domains:
  - Domain_heat

root@debian:/etc/skyline# docker rm -f skyline
skyline
root@debian:/etc/skyline# rm -rf /tmp/skyline && mkdir /tmp/skyline root@debian:/etc/skyline# docker run -d --name skyline_bootstrap -e KOLLA_BOOTSTRAP="" -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml -v /tmp/skyline:/tmp --net=host 99cloud/skyline:latest
ceeb0687dbcd51491bcf24f505025bdc9f37a8d95dc0c6a36855b4a95606ef36
root@debian:/etc/skyline# docker logs skyline_bootstrap
+ echo '/usr/local/bin/gunicorn -c /etc/skyline/gunicorn.py skyline_apiserver.main:app'
+ mapfile -t CMD
++ xargs -n 1
++ tail /run_command
+ [[ -n 0 ]]
+ cd /skyline-apiserver/
+ make db_sync
alembic -c skyline_apiserver/db/alembic/alembic.ini upgrade head
2022-10-11 02:10:05.810 | INFO | alembic.runtime.migration:__init__:204 - Context impl SQLiteImpl.
2022-10-11 02:10:05.810 | INFO | alembic.runtime.migration:__init__:207 - Will assume non-transactional DDL.
2022-10-11 02:10:05.816 | INFO | alembic.runtime.migration:run_migrations:618 - Running upgrade -> 000, init
+ exit 0
root@debian:/etc/skyline# docker rm -f skyline_bootstrap skyline_bootstrap
root@debian:/etc/skyline# docker run -d --name skyline --restart=always -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml -v /tmp/skyline:/tmp --net=host 99cloud/skyline:latest
a91585af8840e0e9c5f8d1ef75c715524c9763d32feec8fd876e1417bf72ed19

Revision history for this message
Shuai Qian (iauhsnaiq) wrote :

Please supply the logs of skyline that is under /var/log/skyline.

Revision history for this message
Apeng (user0x5a0x50) wrote :

We have found the problem, because the service name we set in bootstrap keystone of openstack is not the default value "keystone", we changed it to "srvc_keystone". In the skyline code, part of the logic of getting the token, the service name "keystone" matches the authentication service from the endpoint list, and the operation of changing the service name leads to not getting the endpoint of the authentication service.
Thank you again for your help and for skyline's open source spirit and contributions.

Revision history for this message
Boxiang Zhu (bxzhu-5355) wrote :

Great, thanks for your reply the reason. So the service name is not "keystone" for your openstack cluster. But the codes for skyline-apiserver is hardcode as "keystone". Maybe we can set this as config for skyline.

Thanks

Changed in skyline-apiserver:
importance: Undecided → Wishlist
assignee: nobody → Boxiang Zhu (bxzhu-5355)
Revision history for this message
Debasis (debamondal) wrote :

Is this resolved? Or could anyone of you help me understand where should I change to resolve the issue at least temporarily?

Revision history for this message
Shuai Qian (iauhsnaiq) wrote :

Hello Debasis,

if you also cant get domain list in the landing page, check your configuration file of skyline, and make sure that your domains are not in the item base_domains.

if your skyline configuration is correct, check as following:
- make sure your keystone service works, and you can get domain list through calling keystone api manually.
- and your identity service name is keystone, in case of the same issue above.

Revision history for this message
Debasis (debamondal) wrote (last edit ):

Hi Shuai,

When I execute openstack service list, I get "keystone" as the identity service and in the skyline.yaml, I've the following...

openstack:
  base_domains:
  - heat_user_domain
  default_region: RegionOne
  extension_mapping:

My skyline frontend domain and region both are empty and client getting 401 error code(this is unexpected because on the login page you cannot expect user to have authentication key)

Revision history for this message
Shuai Qian (iauhsnaiq) wrote :

regions and domains in login page would be got by system_user configurated in skyline.yml

and 401, it sounds like you have wrong system_user_password or other related configurations in your skyline.yaml

so please check your configurations in skyline.yml, especially those startswith system_

Revision history for this message
SK (msalmanmasood) wrote :

hitting the same issue where domain remains empty showing No data!!

advice pl

Revision history for this message
SK (msalmanmasood) wrote :

following exception found in the logs

2023-08-18 04:15:47.064 | WARNING | skyline_apiserver.api.v1.contrib:list_domains:91 - Could not find a suitable endpoint for client version: 3.13

Revision history for this message
SK (msalmanmasood) wrote :

was hitting this bug; https://bugs.launchpad.net/skyline-apiserver/+bug/1954975

moving to train release works for me!

Revision history for this message
Debasis (debamondal) wrote :

In my case, with self-signed certs, I get this error in skyline logs

Traceback (most recent call last):
  File "/var/lib/kolla/venv/lib/python3.10/site-packages/uvicorn/protocols/http/h11_impl.py", line 129, in handle_events
    event = self.conn.next_event()
  File "/var/lib/kolla/venv/lib/python3.10/site-packages/h11/_connection.py", line 443, in next_event
    exc._reraise_as_remote_protocol_error()
  File "/var/lib/kolla/venv/lib/python3.10/site-packages/h11/_util.py", line 76, in _reraise_as_remote_protocol_error
    raise self
  File "/var/lib/kolla/venv/lib/python3.10/site-packages/h11/_connection.py", line 425, in next_event
    event = self._extract_next_receive_event()
  File "/var/lib/kolla/venv/lib/python3.10/site-packages/h11/_connection.py", line 367, in _extract_next_receive_event
    event = self._reader(self._receive_buffer)
  File "/var/lib/kolla/venv/lib/python3.10/site-packages/h11/_readers.py", line 68, in maybe_read_from_IDLE_client
    raise LocalProtocolError("illegal request line")
h11._util.RemoteProtocolError: illegal request line
[2023-08-18 23:43:53 +0530].245 735 WARNING [-] Invalid HTTP request received.

Revision history for this message
Shuai Qian (iauhsnaiq) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.