Search code examples
openstackopenstack-nova

More than one endpoint exists with the name 'nova'


the command do not work, when I want to show the nova's endpoints:

openstack endpoint show nova

it will report error:

More than one endpoint exists with the name 'nova'.


Solution

  • When you check your endpoints, you will likely find that they reside in an Interface environment.

     % openstack endpoint list -c ID -c "Service Name" -c Interface --service nova
    +----------------------------------+--------------+-----------+
    | ID                               | Service Name | Interface |
    +----------------------------------+--------------+-----------+
    | 2d45aed973da34f7d28b8c9e410bba5e | nova         | public    |
    | 7de83faa23d4ee5b39a8b7de45b8ee15 | nova         | internal  |    
    | ab8374d8b8f233fe11cda487bfe98ad7 | nova         | admin     |
    +----------------------------------+--------------+-----------+
    

    Similarily, you can filter only endpoints in a specific interface

    % openstack endpoint list --interface public 
    

    For your command then use the ID instead of the name of the Service Name, e.g. this would give me the admin nova API:

    openstack endpoint show ab8374d8b8f233fe11cda487bfe98ad7