Hi all. I'm trying to set up a Dashboard with my nova instalation (Diablo) and I'm getting some errors. <div><br></div><div>My environment:</div><div><br></div><div>Ubuntu 11.04 Server 64</div><div>OpenStack: ppa:openstack-release/2011.3</div>
<div>Keystone: ppa:keystone-core/trunk</div><div>Swift: ppa:swift-core/ppa</div><div>Dashboard: <a href="https://github.com/4P/openstack-dashboard">https://github.com/4P/openstack-dashboard</a></div><div><br></div><div>I have used this to set up the keystone.db:</div>
<div><br></div><div><div>BIN_DIR=${BIN_DIR:-.}</div><div>rm -f keystone.db</div><div><br></div><div># Tenants</div><div>$BIN_DIR/keystone-manage $* tenant add admin</div><div>$BIN_DIR/keystone-manage $* tenant add demo</div>
<div><br></div><div># Users</div><div>$BIN_DIR/keystone-manage $* user add demo 3mbr4p4 demo</div><div>$BIN_DIR/keystone-manage $* user add admin 3mbr4p4 admin</div><div><br></div><div># Roles</div><div>$BIN_DIR/keystone-manage $* role add Admin</div>
<div>$BIN_DIR/keystone-manage $* role add Member</div><div>$BIN_DIR/keystone-manage $* role grant Admin admin</div><div><br></div><div>$BIN_DIR/keystone-manage service add swift object-store 'Swift Service'</div><div>
$BIN_DIR/keystone-manage service add nova compute "Nova Compute Service"</div><div>$BIN_DIR/keystone-manage $* service add nova_compat nova_compat nova_compat</div><div>$BIN_DIR/keystone-manage service add glance image "Glance Image Service"</div>
<div>$BIN_DIR/keystone-manage service add keystone identity "Keystone Identity Service"</div><div>$BIN_DIR/keystone-manage $* service add identity identity identity</div><div><br></div><div>#endpointTemplates</div>
<div>$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne swift <a href="http://localhost:8080/v1/AUTH_%tenant_id%">http://localhost:8080/v1/AUTH_%tenant_id%</a> <a href="http://localhost:8080/">http://localhost:8080/</a> <a href="http://localhost:8080/v1/AUTH_%tenant_id%">http://localhost:8080/v1/AUTH_%tenant_id%</a> 1 1</div>
<div>$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne nova_compat <a href="http://localhost:8774/v1.0/">http://localhost:8774/v1.0/</a> <a href="http://localhost:8774/v1.0">http://localhost:8774/v1.0</a>  <a href="http://localhost:8774/v1.0">http://localhost:8774/v1.0</a> 1 1</div>
<div>$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne nova <a href="http://localhost:8774/v1.1/%tenant_id%">http://localhost:8774/v1.1/%tenant_id%</a> <a href="http://localhost:8774/v1.1/%tenant_id%">http://localhost:8774/v1.1/%tenant_id%</a>  <a href="http://localhost:8774/v1.1/%tenant_id%">http://localhost:8774/v1.1/%tenant_id%</a> 1 1</div>
<div>$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne glance <a href="http://localhost:9292/v1.1/%tenant_id%">http://localhost:9292/v1.1/%tenant_id%</a> <a href="http://localhost:9292/v1.1/%tenant_id%">http://localhost:9292/v1.1/%tenant_id%</a> <a href="http://localhost:9292/v1.1/%tenant_id%">http://localhost:9292/v1.1/%tenant_id%</a> 1 1</div>
<div>$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne keystone <a href="http://localhost:8080/v2.0">http://localhost:8080/v2.0</a> <a href="http://localhost:8081/v2.0">http://localhost:8081/v2.0</a> <a href="http://localhost:8080/v2.0">http://localhost:8080/v2.0</a> 1 1</div>
<div>$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne identity <a href="http://localhost:5000/v2.0">http://localhost:5000/v2.0</a> <a href="http://localhost:35357/v2.0">http://localhost:35357/v2.0</a> <a href="http://localhost:5000/v2.0">http://localhost:5000/v2.0</a> 1 1</div>
<div><br></div><div># Tokens</div><div>$BIN_DIR/keystone-manage $* token add 999888777666 admin admin 2015-02-05T00:00</div><div><br></div><div>#Tenant endpoints</div><div>$BIN_DIR/keystone-manage $* endpoint add admin 1</div>
<div>$BIN_DIR/keystone-manage $* endpoint add admin 2</div><div>$BIN_DIR/keystone-manage $* endpoint add admin 3</div><div>$BIN_DIR/keystone-manage $* endpoint add admin 4</div><div>$BIN_DIR/keystone-manage $* endpoint add admin 5</div>
<div>$BIN_DIR/keystone-manage $* endpoint add admin 6</div><div><br></div><div>$BIN_DIR/keystone-manage $* endpoint add demo 1</div><div>$BIN_DIR/keystone-manage $* endpoint add demo 2</div><div>$BIN_DIR/keystone-manage $* endpoint add demo 3</div>
<div>$BIN_DIR/keystone-manage $* endpoint add demo 4</div><div>$BIN_DIR/keystone-manage $* endpoint add demo 5</div><div>$BIN_DIR/keystone-manage $* endpoint add demo 6</div><div><br></div><div>$BIN_DIR/keystone-manage $* credentials add admin EC2 'admin:admin' admin admin || echo "no support for adding credentials"</div>
<div><br></div><div><br></div><div>Results:</div><div><br></div><div><div>SUCCESS: Tenant admin created.</div><div>SUCCESS: Tenant demo created.</div><div>SUCCESS: User demo created.</div><div>SUCCESS: User admin created.</div>
<div>SUCCESS: Role Admin created successfully.</div><div>SUCCESS: Role Member created successfully.</div><div>SUCCESS: Granted Admin the admin role on None.</div><div>SUCCESS: Service swift created successfully.</div><div>
SUCCESS: Service nova created successfully.</div><div>SUCCESS: Service nova_compat created successfully.</div><div>SUCCESS: Service glance created successfully.</div><div>SUCCESS: Service keystone created successfully.</div>
<div>SUCCESS: Service identity created successfully.</div><div>SUCCESS: Created EndpointTemplates for swift pointing to <a href="http://localhost:8080/v1/AUTH_%tenant_id%">http://localhost:8080/v1/AUTH_%tenant_id%</a>.</div>
<div>SUCCESS: Created EndpointTemplates for nova_compat pointing to <a href="http://localhost:8774/v1.0/">http://localhost:8774/v1.0/</a>.</div><div>SUCCESS: Created EndpointTemplates for nova pointing to <a href="http://localhost:8774/v1.1/%tenant_id%">http://localhost:8774/v1.1/%tenant_id%</a>.</div>
<div>SUCCESS: Created EndpointTemplates for glance pointing to <a href="http://localhost:9292/v1.1/%tenant_id%">http://localhost:9292/v1.1/%tenant_id%</a>.</div><div>SUCCESS: Created EndpointTemplates for keystone pointing to <a href="http://localhost:8080/v2.0">http://localhost:8080/v2.0</a>.</div>
<div>SUCCESS: Created EndpointTemplates for identity pointing to <a href="http://localhost:5000/v2.0">http://localhost:5000/v2.0</a>.</div><div>SUCCESS: Token 999888777666 created.</div><div>SUCCESS: Endpoint 1 added to tenant admin.</div>
<div>SUCCESS: Endpoint 2 added to tenant admin.</div><div>SUCCESS: Endpoint 3 added to tenant admin.</div><div>SUCCESS: Endpoint 4 added to tenant admin.</div><div>SUCCESS: Endpoint 5 added to tenant admin.</div><div>SUCCESS: Endpoint 6 added to tenant admin.</div>
<div>SUCCESS: Endpoint 1 added to tenant demo.</div><div>SUCCESS: Endpoint 2 added to tenant demo.</div><div>SUCCESS: Endpoint 3 added to tenant demo.</div><div>SUCCESS: Endpoint 4 added to tenant demo.</div><div>SUCCESS: Endpoint 5 added to tenant demo.</div>
<div>SUCCESS: Endpoint 6 added to tenant demo.</div><div>SUCCESS: Credentials admin created.</div></div><div><br></div><div>Then I started the Dashboard. Accessing in browser is OK but I get several parts in red with errors. Acessing some tabs the logs show:</div>
<div><br></div><div>ERROR:django_openstack.syspanel.views.services:ApiException fetching service list</div><div>...</div><div>ERROR:django_openstack.syspanel.views.tenants:ApiException while getting tenant list</div><div>
...</div><div><div>ERROR:django_openstack.api:ApiException fetching service list in instance usage</div></div><div>...</div><div><div>BadRequest: [Errno 111] ECONNREFUSED (HTTP 400)</div></div><div><br></div><div><br></div>
<div>showing always something like:</div><div><br></div><div><div>Traceback (most recent call last):</div><div>  File "/root/dashboard/openstack-dashboard/django-openstack/django_openstack/api.py", line 953, in usage</div>
<div>    datetime_end)</div><div>  File "/root/dashboard/openstack-dashboard/django-openstack/django_openstack/api.py", line 318, in inner</div><div>    return f(*args, **kwargs)</div><div>  File "/root/dashboard/openstack-dashboard/django-openstack/django_openstack/api.py", line 657, in usage_list</div>
<div>    return [Usage(u) for u in extras_api(request).usage.list(start, end)]</div><div>  File "/root/dashboard/openstack-dashboard/openstack-dashboard/.dashboard-venv/src/openstackx/openstackx/extras/usage.py", line 12, in list</div>
<div>    return self._list("/extras/usage?start=%s&end=%s" % (start.isoformat(), end.isoformat()), "usage")</div><div>  File "/root/dashboard/openstack-dashboard/openstack-dashboard/.dashboard-venv/src/openstackx/openstackx/api/base.py", line 27, in _list</div>
<div>    resp, body = self.api.connection.get(url)</div><div>  File "/root/dashboard/openstack-dashboard/openstack-dashboard/.dashboard-venv/src/openstackx/openstackx/api/connection.py", line 78, in get</div><div>
    return self._cs_request(url, 'GET', **kwargs)</div><div>  File "/root/dashboard/openstack-dashboard/openstack-dashboard/.dashboard-venv/src/openstackx/openstackx/api/connection.py", line 63, in _cs_request</div>
<div>    **kwargs)</div><div>  File "/root/dashboard/openstack-dashboard/openstack-dashboard/.dashboard-venv/src/openstackx/openstackx/api/connection.py", line 48, in request</div><div>    raise exceptions.from_response(resp, body)</div>
<div>NotFound:  This error may be caused by a misconfigured nova url in keystone's service catalog, or  by missing openstackx extensions in nova.  See the dashboard README. (HTTP 404)</div></div><div><br></div><div>So, trying follow some hints ... I added in my nova.conf:</div>
<div><br></div><div><div>--osapi_extensions_path=/root/dashboard/openstackx/extensions/</div><div>--allow_admin_api=true</div></div><div><br></div><div>I clone openstackx to /root/dashboard/openstackx/extensions/ ... (it's just git clone? Do I need to run some install script?)</div>
<div><br></div><div>I also checke the path '/root/dashboard/openstack-dashboard/openstack-dashboard/.dashboard-venv/src/openstackx/openstackx/api/connection.py' that is shown in logs... the files are there! </div>
<div><br></div><div>I don't know what to do! Please, help me. </div><div><br></div><div>Thanks.</div><div><br></div>-- <br>- MSc. Correa, J.L.<br><br>
</div>