Diagnosis
By default, API calls require authentication. For the sake of lab testing, it is possible to disable this authentication.
root@openstack:~# cat /etc/contrail/contrail-api.conf | grep auth
auth = keystone
Solution
Replace "keystone" with "none" and restart.
Here is an example Python session that no longer requires authentication:
root@openstack:~# python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from vnc_api import vnc_api
>>> vnc_lib = vnc_api.VncApi()
>>> print(vnc_lib.virtual_networks_list())
{u'virtual-networks': [{u'href': u'http://127.0.0.1:8082/virtual-network/a3169c4b-ebb9-4b45-8452-9ad6a4de3c9f', u'fq_name': [u'default-domain', u'default-project', u'__link_local__'], u'uuid': u'a3169c4b-ebb9-4b45-8452-9ad6a4de3c9f'}, {u'href': u'http://127.0.0.1:8082/virtual-network/ab93c42b-f24d-4b1f-9cd9-5306b5bda0bd', u'fq_name': [u'default-domain', u'demo', u'VN-B'], u'uuid': u'ab93c42b-f24d-4b1f-9cd9-5306b5bda0bd'}, {u'href': u'http://127.0.0.1:8082/virtual-network/0719a959-c0a2-4264-a67d-8a30a9eb8628', u'fq_name': [u'default-domain', u'demo', u'svc-vn-left'], u'uuid': u'0719a959-c0a2-4264-a67d-8a30a9eb8628'}, {u'href': u'http://127.0.0.1:8082/virtual-network/ce2439e9-9aca-4de0-b1e0-088bd42dbec1', u'fq_name': [u'default-domain', u'default-project', u'ip-fabric'], u'uuid': u'ce2439e9-9aca-4de0-b1e0-088bd42dbec1'}, {u'href': u'http://127.0.0.1:8082/virtual-network/00105e7a-8b23-4333-afb4-d83d508cf5cd', u'fq_name': [u'default-domain', u'demo', u'VN-A'], u'uuid': u'00105e7a-8b23-4333-afb4-d83d508cf5cd'}, {u'href': u'http://127.0.0.1:8082/virtual-network/bf5d86d4-12dd-49e4-bee2-3cb906b9c942', u'fq_name': [u'default-domain', u'default-project', u'default-virtual-network'], u'uuid': u'bf5d86d4-12dd-49e4-bee2-3cb906b9c942'}, {u'href': u'http://127.0.0.1:8082/virtual-network/f63f3f86-8d41-4d08-9892-bb4dfca85c29', u'fq_name': [u'default-domain', u'demo', u'Ext'], u'uuid': u'f63f3f86-8d41-4d08-9892-bb4dfca85c29'}]}