registro de erro openstack, keystone, mostra que o recurso não pode ser encontrado

Sobre keystone, erro

prefácio

Nos últimos dias de treinamento de pilha aberta, usei a versão M. Talvez eu não tenha tido sorte. Depois de seis dias de treinamento, consegui a pedra angular por apenas 4 dias.

Eu encontrei mais ou menos problemas antes, os principais são: chaves, autenticação de identidade e problemas de conexão com o banco de dados, mas terminei
tudo.

401 é basicamente um problema com autenticação de identidade.

404 significa que o recurso não pode ser encontrado, então depende da URL da API, ou seja, o problema do caminho

500 significa que uma operação inesperada causou um erro. Meu gatilho foi excluir o banco de dados. Olhando para o log, ele disse que o banco de dados keystone não foi encontrado e saiu quando o banco de dados foi ressincronizado. A solução é reinicializar as chaves fernet,

  • Esqueci de anotar a solução do problema anterior. A ideia é:

    • Problema de configuração de variável de ambiente , geralmente o erro apontará para esta área vagamente, preste mais atenção
    • Problema no arquivo de configuração , o token na variável de ambiente é o token em keystone.conf, ambos são iguais
    • Problema de sincronização do banco de dados : Depois de criar o banco de dados, ao autorizar o banco de dados, a última coisa a escrever é a senha para se conectar ao banco de dados
  open  grant all privileges on keystone.* to 'keystone'@'localhost' identified by '000000'; 
	  #例如,后面的000000就是连接数据的密码
    #配置文件里的[database]选项,就应该写
    [database]
    connection = mysql+pymysql://keystone:000000@controopenller/keystone
  • Relatando que o recurso não pode ser encontrado, como a URL : verifique a API de serviço (url) criada pelo endpoint, bem como verificações de comandos relacionados, logs e use um navegador para acessar a url para ver se algum erro é retornado. Evite erros de digitação em urls

Início de produtos secos:

Este é o problema que encontrei no penúltimo dia após o término do treinamento, ou seja, quando penso no recorde neste momento, é fácil verificar

Failed to contact the endpoint at http://controller:35357/3 for discovery. Fallback to using that endpoint as the base url. The resource could not be found. (HTTP 404)·

翻译以下就知道了,大致说的是,未能发现这个url,基于这个URL,找不到资源

O que essa mensagem de erro diz é que o recurso não foi encontrado, e eu não fazia ideia a princípio, mas tentei colocar essa url ( ) no navegador depois, e descobri controller记得换回IP地址才能访问到que o erro foi retornado

{
    
    "error": {
    
    "message": "The resource could not be found.", "code": 404, "title": "Not Found"}}

Olhe a url novamente: http://controller:35357/3; constatou que falta v, adicionar esse v permitirá o acesso normalhttp://controller:35357/v3

{
    
    "version": {
    
    "status": "stable", "updated": "2016-04-04T00:00:00Z", "media-types": [{
    
    "base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.6", "links": [{
    
    "href": "http://192.168.200.21:35357/v3/", "rel": "self"}]}}

Mais tarde, quando excluí este ponto de extremidade, encontrei um problema novamente. Não consegui excluí-lo. A mensagem de erro mostrou que o recurso não pôde ser encontrado com base neste URL. Sim, o recurso não pôde ser encontrado, então por que excluí-lo ; surfe. vi um artigo dizendo que as urls exibidas ficam armazenadas no banco de dados ; ai é só alterar o banco de dados

MariaDB [keystone]> select * from endpoint;
+----------------------------------+--------------------+-----------+----------------------------------+--------                                                                                                                        -------------------+-------+---------+-----------+
| id                               | legacy_endpoint_id | interface | service_id                       | url                                                                                                                                               | extra | enabled | region_id |
+----------------------------------+--------------------+-----------+----------------------------------+--------                                                                                                                        -------------------+-------+---------+-----------+
| 2c57b1d4698845a383bc0ce112dfe278 | NULL               | public    | c5fd90467eec4bce9a50f9685c80cd27 | http://                                                                                                                        controller:5000/3  | {
    
    }    |       1 | RegionOne |
| 9183c8c90f0148eb9e246a6d0aebd08c | NULL               | admin     | c5fd90467eec4bce9a50f9685c80cd27 | http://                                                                                                                        controller:35357/3 | {
    
    }    |       1 | RegionOne |
| 93a6c0607a5646aeb336277d14ce8dd8 | NULL               | internal  | c5fd90467eec4bce9a50f9685c80cd27 | http://                                                                                                                        controller:5000/3  | {
    
    }    |       1 | RegionOne |
+----------------------------------+--------------------+-----------+----------------------------------+--------                                                                                                                        -------------------+-------+---------+-----------+
3 rows in set (0.01 sec)

Finalmente vi os dados da entidade, esses urls errados, abertos para alteração

MariaDB [keystone]> update endpoint set url='http://controller:5000/v3'
    -> ;
Query OK, 3 rows affected (0.01 sec)

Solução perfeita, chame-o um dia! Keystone retoma as operações normais! ! !

[root@controller ~]# openstack catalog list
+----------+----------+---------------------------------------+
| Name     | Type     | Endpoints                             |
+----------+----------+---------------------------------------+
| keystone | identity | RegionOne                             |
|          |          |   public: http://controller:5000/v3   |
|          |          | RegionOne                             |
|          |          |   admin: http://controller:35357/v3   |
|          |          | RegionOne                             |
|          |          |   internal: http://controller:5000/v3 |
|          |          |                                       |
+----------+----------+---------------------------------------+
[root@controller ~]# openstack endpoint list
+----------------------+-----------+--------------+--------------+---------+-----------+-----------------------+
| ID                   | Region    | Service Name | Service Type | Enabled | Interface | URL                   |
+----------------------+-----------+--------------+--------------+---------+-----------+-----------------------+
| 2c57b1d4698845a383bc | RegionOne | keystone     | identity     | True    | public    | http://controller:500 |
| 0ce112dfe278         |           |              |              |         |           | 0/v3                  |
| 9183c8c90f0148eb9e24 | RegionOne | keystone     | identity     | True    | admin     | http://controller:353 |
| 6a6d0aebd08c         |           |              |              |         |           | 57/v3                 |
| 93a6c0607a5646aeb336 | RegionOne | keystone     | identity     | True    | internal  | http://controller:500 |
| 277d14ce8dd8         |           |              |              |         |           | 0/v3                  |
+----------------------+-----------+--------------+--------------+---------+-----------+-----------------------+

Acho que você gosta

Origin blog.csdn.net/weixin_61954391/article/details/130766613
Recomendado
Clasificación