Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

After almost two days of debugging I finally solved the issue and it was not due to the amazingly confusing log outputs.. It's incredibly that you have to read source files to understand basic configuration errors...

I'm gonna put my solution here in case someone is having the same issue.

First error

First of all, look for these variables in /usr/lib/python2.7/dist-packages/magnumclient/v1/client.py (trace-back output from magnum command)

...
DEFAULT_API_VERSION = '1'
DEFAULT_ENDPOINT_TYPE = 'publicURL'
DEFAULT_SERVICE_TYPE = 'container'
...

Make sure you name your service type accordingly to DEFAULT_SERVICE_TYPE when you are creating the magnum service and endpoints. I had named my service type to container-infra according to the documentation I followed (apparently I followed wrong magnum version guide)


Second error

After that I ran into a keystone error that looked like this:

magnum-api.log

CRITICAL keystonemiddleware.auth_token [-] Unable to validate token: Identity server rejected authorization necessary to fetch token data
WARNING keystonemiddleware.auth_token [-] Identity response: {"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}}
WARNING keystonemiddleware.auth_token [-] Identity response: {"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}}

keystone.log:

ERROR keystone.auth.controllers     raise exception.DomainNotFound(domain_id=domain_id)
ERROR keystone.auth.controllers DomainNotFound: Could not find domain: default
ERROR keystone.auth.controllers 
WARNING keystone.common.wsgi [req-162a1fb2-798d-4c75-85cb-f1921b5f786d - - - - -] Authorization failed. The request you have made requires authentication. from 10.10.0.11

This was solved by changing project_domain_id and user_domain_id to project_domain_name and user_domain_name under [keystone_authtoken] in /etc/magnum/magnum.conf:

[keystone_authtoken]
identity_uri = http://controller:35357
memcached_servers = controller:11211
auth_version = v3
auth_uri = http://controller:5000/v3
project_domain_name = default
project_name = service
user_domain_name = default
password = magnum
username = password
auth_url = http://controller:35357
auth_type = password

After almost two days of debugging I finally solved the issue and it was not due to the amazingly confusing log outputs.. It's incredibly that you have to read source files to understand basic configuration errors...

I'm gonna put my solution here in case someone is having the same issue.

First error

First of all, look for these variables in /usr/lib/python2.7/dist-packages/magnumclient/v1/client.py (trace-back output from magnum command)

...
DEFAULT_API_VERSION = '1'
DEFAULT_ENDPOINT_TYPE = 'publicURL'
DEFAULT_SERVICE_TYPE = 'container'
...

Make sure you name your service type accordingly to DEFAULT_SERVICE_TYPE when you are creating the magnum service and endpoints. I had named my service type to container-infra according to the documentation I followed (apparently I followed wrong magnum version guide)


Second error

After that I ran into a keystone error that looked like this:

magnum-api.log

CRITICAL keystonemiddleware.auth_token [-] Unable to validate token: Identity server rejected authorization necessary to fetch token data
WARNING keystonemiddleware.auth_token [-] Identity response: {"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}}
WARNING keystonemiddleware.auth_token [-] Identity response: {"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}}

keystone.log:

ERROR keystone.auth.controllers     raise exception.DomainNotFound(domain_id=domain_id)
ERROR keystone.auth.controllers DomainNotFound: Could not find domain: default
ERROR keystone.auth.controllers 
WARNING keystone.common.wsgi [req-162a1fb2-798d-4c75-85cb-f1921b5f786d - - - - -] Authorization failed. The request you have made requires authentication. from 10.10.0.11

This was solved by changing project_domain_id and user_domain_id to project_domain_name and user_domain_name under [keystone_authtoken] in /etc/magnum/magnum.conf:

[keystone_authtoken]
identity_uri = http://controller:35357
memcached_servers = controller:11211
auth_version = v3
auth_uri = http://controller:5000/v3
project_domain_name = default
project_name = service
user_domain_name = default
password = magnum
username = password
auth_url = http://controller:35357
auth_type = password

Edit: I lack points to mark this question as solved.

After almost two days of debugging I finally solved the issue and it was not due to the amazingly confusing log outputs.. It's incredibly that you have to read source files to understand basic configuration errors...

I'm gonna put my solution here in case someone is having the same issue.

First error

First of all, look for these variables in /usr/lib/python2.7/dist-packages/magnumclient/v1/client.py (trace-back output from magnum command)

...
DEFAULT_API_VERSION = '1'
DEFAULT_ENDPOINT_TYPE = 'publicURL'
DEFAULT_SERVICE_TYPE = 'container'
...

Make sure you name your service type accordingly to DEFAULT_SERVICE_TYPE when you are creating the magnum service and endpoints. I had named my service type to container-infra according to the documentation I followed (apparently I followed wrong magnum version guide)


Second error

After that I ran into a keystone error that looked like this:

magnum-api.log

CRITICAL keystonemiddleware.auth_token [-] Unable to validate token: Identity server rejected authorization necessary to fetch token data
WARNING keystonemiddleware.auth_token [-] Identity response: {"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}}
WARNING keystonemiddleware.auth_token [-] Identity response: {"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}}

keystone.log:

ERROR keystone.auth.controllers     raise exception.DomainNotFound(domain_id=domain_id)
ERROR keystone.auth.controllers DomainNotFound: Could not find domain: default
ERROR keystone.auth.controllers 
WARNING keystone.common.wsgi [req-162a1fb2-798d-4c75-85cb-f1921b5f786d - - - - -] Authorization failed. The request you have made requires authentication. from 10.10.0.11

This was solved by changing project_domain_id and user_domain_id to project_domain_name and user_domain_name under [keystone_authtoken] in /etc/magnum/magnum.conf:

[keystone_authtoken]
identity_uri = http://controller:35357
memcached_servers = controller:11211
auth_version = v3
auth_uri = http://controller:5000/v3
project_domain_name = default
project_name = service
user_domain_name = default
password = magnum
username = password
auth_url = http://controller:35357
auth_type = password

Edit: Edit 1: This question is solved but I lack points to mark this question as solved.

it that way.

Edit 2: Forgot to mention that magnum was installed from apt-repository http://ubuntu-cloud.archive.canonical.com/ubuntu with distribution trusty-updates/mitaka on Ubuntu Trusty 14.04.

After almost two days of debugging I finally solved the issue and it was not due to the amazingly confusing log outputs.. It's incredibly that you have to read source files to understand basic configuration errors...

I'm gonna put my solution here in case someone is having the same issue.

First error

First of all, look for these variables in /usr/lib/python2.7/dist-packages/magnumclient/v1/client.py (trace-back output from magnum command)

...
DEFAULT_API_VERSION = '1'
DEFAULT_ENDPOINT_TYPE = 'publicURL'
DEFAULT_SERVICE_TYPE = 'container'
...

Make sure you name your service type accordingly to DEFAULT_SERVICE_TYPE when you are creating the magnum service and endpoints. I had named my service type to container-infra according to the documentation I followed (apparently I followed wrong magnum version guide)


Second error

After that I ran into a keystone error that looked like this:

magnum-api.log

CRITICAL keystonemiddleware.auth_token [-] Unable to validate token: Identity server rejected authorization necessary to fetch token data
WARNING keystonemiddleware.auth_token [-] Identity response: {"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}}
WARNING keystonemiddleware.auth_token [-] Identity response: {"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}}

keystone.log:

ERROR keystone.auth.controllers     raise exception.DomainNotFound(domain_id=domain_id)
ERROR keystone.auth.controllers DomainNotFound: Could not find domain: default
ERROR keystone.auth.controllers 
WARNING keystone.common.wsgi [req-162a1fb2-798d-4c75-85cb-f1921b5f786d - - - - -] Authorization failed. The request you have made requires authentication. from 10.10.0.11

This was solved by changing project_domain_id and user_domain_id to project_domain_name and user_domain_name under [keystone_authtoken] in /etc/magnum/magnum.conf:

[keystone_authtoken]
identity_uri = http://controller:35357
memcached_servers = controller:11211
auth_version = v3
auth_uri = http://controller:5000/v3
project_domain_name = default
project_name = service
user_domain_name = default
password = password
username = magnum
username = password
auth_url = http://controller:35357
auth_type = password

Edit 1: This question is solved but I lack points to mark it that way.

Edit 2: Forgot to mention that magnum was installed from apt-repository http://ubuntu-cloud.archive.canonical.com/ubuntu with distribution trusty-updates/mitaka on Ubuntu Trusty 14.04.