Ask Your Question
0

OpenStack-Dashboard problems

asked 2011-06-22 10:14:52 -0500

laurent-borensky gravatar image

Hello,

I am continuing my work to upload OpenStack, but I still have two problems with OpenStack-Dashboard:

1) Why when I launch a VM, the public address is not displayed. Must perform the operation on the back end with the commands "eucalyptus-associate & allocate" to make it appear?

2) Under the admin dashboard, it is impossible to create users. See the tracks below.

DEBUG:boto:Host: None DEBUG:boto:establishing HTTP connection DEBUG:boto:<describeprojectsresponse xmlns="http://ec2.amazonaws.com/doc/nova/"><requestid>9Y14M7AZC9BLULG0F44T</requestid><projectset><item><projectname>projet1</projectname><projectmanagerid>novaadmin</projectmanagerid><description>projet1</description></item></projectset></describeprojectsresponse> [22/Jun/2011 11:01:51] "GET /admin/project/ HTTP/1.1" 200 3104 DEBUG:django.db.backends:(0.001) SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM "django_session" WHERE ("django_session"."session_key" = f88a9a6ab1a61304292c36b8c6395eba AND "django_session"."expire_date" > 2011-06-22 11:01:51.451525 ); args=('f88a9a6ab1a61304292c36b8c6395eba', u'2011-06-22 11:01:51.451525') [22/Jun/2011 11:01:51] "GET /stylesheets/extra_admin.css HTTP/1.1" 404 3459 DEBUG:django.db.backends:(0.001) SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM "django_session" WHERE ("django_session"."session_key" = f88a9a6ab1a61304292c36b8c6395eba AND "django_session"."expire_date" > 2011-06-22 11:01:54.188554 ); args=('f88a9a6ab1a61304292c36b8c6395eba', u'2011-06-22 11:01:54.188554') DEBUG:django.db.backends:(0.002) SELECT "auth_user"."id", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."password", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."is_superuser", "auth_user"."last_login", "auth_user"."date_joined" FROM "auth_user" WHERE "auth_user"."id" = 1 ; args=(1,) DEBUG:django.db.backends:(0.000) SELECT "django_admin_log"."id", "django_admin_log"."action_time", "django_admin_log"."user_id", "django_admin_log"."content_type_id", "django_admin_log"."object_id", "django_admin_log"."object_repr", "django_admin_log"."action_flag", "django_admin_log"."change_message", "auth_user"."id", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."password", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."is_superuser", "auth_user"."last_login", "auth_user"."date_joined", "django_content_type"."id", "django_content_type"."name", "django_content_type"."app_label", "django_content_type"."model" FROM "django_admin_log" INNER JOIN "auth_user" ON ("django_admin_log"."user_id" = "auth_user"."id") LEFT OUTER JOIN "django_content_type" ON ("django_admin_log"."content_type_id" = "django_content_type"."id") WHERE "django_admin_log"."user_id" = 1 ORDER BY "django_admin_log"."action_time" DESC LIMIT 10; args=(1,) [22/Jun/2011 11:01:54] "GET /admin/ HTTP/1.1" 200 5156 DEBUG:django.db.backends:(0.001) SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM "django_session" WHERE ("django_session"."session_key" = f88a9a6ab1a61304292c36b8c6395eba AND "django_session"."expire_date" > 2011-06-22 11:01:58.368763 ); args=('f88a9a6ab1a61304292c36b8c6395eba', u'2011-06-22 11:01:58.368763') DEBUG:django.db.backends:(0.000) SELECT "auth_user"."id", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."password", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."is_superuser", "auth_user"."last_login", "auth_user"."date_joined" FROM "auth_user" WHERE "auth_user"."id" = 1 ; args=(1,) DEBUG:django.db.backends:(0.000) SELECT "django_content_type"."id", "django_content_type"."name", "django_content_type"."app_label", "django_content_type"."model" FROM "django_content_type" WHERE ("django_content_type"."model" = user AND "django_content_type"."app_label" = auth ); args=('user', 'auth') [22/Jun/2011 11:01:58] "GET /admin/auth/user/add/ HTTP/1.1" 200 4865 DEBUG:django.db.backends:(0.001) SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM "django_session" WHERE ("django_session"."session_key" = f88a9a6ab1a61304292c36b8c6395eba AND "django_session"."expire_date" > 2011-06-22 11:01:58.469901 ); args=('f88a9a6ab1a61304292c36b8c6395eba', u'2011-06-22 11:01:58.469901') DEBUG:django.db.backends:(0.000) SELECT "auth_user"."id", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email ... (more)

edit retag flag offensive close merge delete

12 answers

Sort by ยป oldest newest most voted
0

answered 2011-06-22 11:51:53 -0500

laurent-borensky gravatar image

root@server1# sqlite3 *.3 <cr> SQLite version 3.7.4 sqlite> .tables; auth_group
auth_group_permissions
auth_message
auth_permission
auth_user
auth_user_groups
auth_user_user_permissions
django_admin_log
django_comment_flags
django_comments
django_content_type
django_openstack_credentialsauthorization django_session
django_site
registration_registrationprofile
sqlite> select * from auth_user; 1|novaadmin|||laurent.borensky@wanadoo.fr|sha1$67402$f2576b9b52ca43f8dd53bd1f6332913bbda35dba|1|1|1|2011-06-22 10:58:47.170296|2011-06-15 12:58:48.109344 sqlite> select * from django_site; http://1%7Cexample.com%7Cexample.com (1|example.com|example.com) http://2%7Cpcop.dyndns.org%7Cpcop.dynsdns.org (2|pcop.dyndns.org|pcop.dynsdns.org) sqlite> .exit root@server1#

Info about INSERT request (extract of log) : INSERT INTO "auth_user" ("username", "first_name", "last_name", "email", "password", "is_staff", "is_active", "is_superuser", "last_login", "date_joined") VALUES (laurent, , , , sha1$ab623$ae1c408827b2502c19fb9bc595192d4d3b55c5a9, False, True, False, 2011-06-22 11:02:53.217206, 2011-06-22 11:02:53.217227); args=(u'laurent', '', '', '', 'sha1$ab623$ae1c408827b2502c19fb9bc595192d4d3b55c5a9', False, True, False,

edit flag offensive delete link more
0

answered 2011-06-22 18:42:38 -0500

Hi Laurent,

Currently there isn't a way to associate a floating public IP using dashboard. There is an effort underway to support this feature, but it's not there as of today. For now you must use command line tools.

As far as your user issue is concerned, the user must exist both in the django database as well as the nova auth backend.

Normally when you create a user in Django, the dashboard should automatically create a corresponding user in nova. It's possible that you are running a fresh nova install against a pre-existing dashboard installation so the users aren't synched.

Fortunately synching the users is easy. You can use dashboard's manage.py to accomplish this:

python manage.py createnovausers

edit flag offensive delete link more
0

answered 2011-06-22 18:55:47 -0500

vishvananda gravatar image

If you have lots of ips to burn, you can use --auto_assign_floating_ip

Vish

On Jun 22, 2011, at 11:45 AM, Devin Carlen wrote:

Question #162316 on OpenStack Compute (nova) changed: https://answers.launchpad.net/nova/+q...

Status: Open => Answered

Devin Carlen proposed the following answer: Hi Laurent,

Currently there isn't a way to associate a floating public IP using dashboard. There is an effort underway to support this feature, but it's not there as of today. For now you must use command line tools.

As far as your user issue is concerned, the user must exist both in the django database as well as the nova auth backend.

Normally when you create a user in Django, the dashboard should automatically create a corresponding user in nova. It's possible that you are running a fresh nova install against a pre-existing dashboard installation so the users aren't synched.

Fortunately synching the users is easy. You can use dashboard's manage.py to accomplish this:

python manage.py createnovausers


You received this question notification because you are a member of Nova Core, which is an answer contact for OpenStack Compute (nova).

edit flag offensive delete link more
0

answered 2011-06-22 20:23:40 -0500

laurent-borensky gravatar image

Hi,

Thank you for your answers. Unfortunately,

1) adding the option "- auto_assign_floating_ip" in nova.conf + restart services does not solve the problem.

2) the creation of an user in djanbo does not create user in "nova" and "djanbo" database.

Regards,

edit flag offensive delete link more
0

answered 2011-06-22 21:18:33 -0500

laurent-borensky gravatar image

Contexte = Django version 1.3 & nova 2011.2-workspace:tarmac-20110415024701-a9bdb77vaatk99lh

edit flag offensive delete link more
0

answered 2011-06-22 23:39:19 -0500

Hi Laurent, what are the settings for the admin account and endpoint in your settings file?

edit flag offensive delete link more
0

answered 2011-06-23 05:45:26 -0500

laurent-borensky gravatar image

Hi at all,

a) Account settings "admin" that starts "runserver" are:

root@server1:/home/localadmin/creds# nova-manage user exports novaadmin <cr> export EC2_ACCESS_KEY=5d5d3414-9502-41a7-80e4-40af37e72abc export EC2_SECRET_KEY=cc6819c9-e723-4d84-9ff1-e0f743f40259

root@server1:/home/localadmin/creds# cat novarc <cr> NOVA_KEY_DIR=$(pushd $(dirname $BASH_SOURCE)>/dev/null; pwd; popd>/dev/null) export EC2_ACCESS_KEY="5d5d3414-9502-41a7-80e4-40af37e72abc:projet1" export EC2_SECRET_KEY="cc6819c9-e723-4d84-9ff1-e0f743f40259" export EC2_URL="http://10.10.10.2:8773/services/Cloud" export S3_URL="http://10.10.10.2:3333" export EC2_USER_ID=42 # nova does not use user id, but bundling requires it export EC2_PRIVATE_KEY=${NOVA_KEY_DIR}/pk.pem export EC2_CERT=${NOVA_KEY_DIR}/cert.pem export NOVA_CERT=${NOVA_KEY_DIR}/cacert.pem export EUCALYPTUS_CERT=${NOVA_CERT} # euca-bundle-image seems to require this set alias ec2-bundle-image="ec2-bundle-image --cert ${EC2_CERT} --privatekey ${EC2_PRIVATE_KEY} --user 42 --ec2cert ${NOVA_CERT}" alias ec2-upload-bundle="ec2-upload-bundle -a ${EC2_ACCESS_KEY} -s ${EC2_SECRET_KEY} --url ${S3_URL} --ec2cert ${NOVA_CERT}" export NOVA_API_KEY="5d5d3414-9502-41a7-80e4-40af37e72abc" export NOVA_USERNAME="novaadmin" export NOVA_URL="http://10.10.10.2:8774/v1.0/" root@server1:/home/localadmin/creds#

b) Local settings "django" are :

import os

DEBUG = True TEMPLATE_DEBUG = DEBUG PROD = False USE_SSL = False

LOCAL_PATH = os.path.dirname(os.path.abspath(__file__)) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(LOCAL_PATH, 'dashboard_openstack.sqlite3'), }, }

CACHE_BACKEND = 'dummy://'

Configure these for your outgoing email host

EMAIL_HOST = 'smtp.server1.pcop.dyndns.org' EMAIL_PORT = 25 EMAIL_HOST_USER = 'support' EMAIL_HOST_PASSWORD = 'CloudOMC'

NOVA_DEFAULT_ENDPOINT = 'http://localhost:8773/services/Cloud' NOVA_DEFAULT_REGION = 'nova' NOVA_ACCESS_KEY = '5d5d3414-9502-41a7-80e4-40af37e72abc:projet1' NOVA_SECRET_KEY = 'cc6819c9-e723-4d84-9ff1-e0f743f40259' NOVA_ADMIN_USER = 'novaadmin' NOVA_PROJECT = 'projet1'

Thank you for your help.

Regards,

edit flag offensive delete link more
0

answered 2011-06-24 14:48:15 -0500

laurent-borensky gravatar image

Hi,

I do not understand why, when I created a user on Nova (ex: laurent), I can then create via the administration of the dashboard. Here all the information captured:

https://docs.google.com/?hl=fr&tab=wo&authuser=0#folders/folder.0.0B6UEJFMrvusLZDBkYjI3Y2QtMzYwNS00YjAwLThjOTQtMTRlNjZmZGZjY2Q3 (https://docs.google.com/?hl=fr&tab=wo...)

Thank you for your help.

edit flag offensive delete link more
0

answered 2011-06-24 14:58:40 -0500

laurent-borensky gravatar image

Sorry, the information is here https://docs.google.com/leaf?id=0B6UEJFMrvusLZDBkYjI3Y2QtMzYwNS00YjAwLThjOTQtMTRlNjZmZGZjY2Q3&hl=en_US (https://docs.google.com/leaf?id=0B6UE...)

or

https://docs.google.com/leaf?id=0B6UEJFMrvusLYTJmODM5YzAtOWVkMS00M2M3LWI5NGEtNzE4OWUwYTBkZmI2&hl=en_US (https://docs.google.com/leaf?id=0B6UE...)

edit flag offensive delete link more
0

answered 2011-06-24 15:06:18 -0500

laurent-borensky gravatar image

Few problems with sharing Google Documents. Now, I think that is OK :

Python trace https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B6UEJFMrvusLMTc2YjA4OWYtMWM0ZC00MjI5LThiMzUtNTljNDE1N2M4M2Rk&hl=en_US (https://docs.google.com/viewer?a=v&pi...)

Code analyze https://docs.google.com/document/d/1bwmZrd6s1RbaB_181R73Ig9yjBrh7xr45PBWBIjd2uo/edit?hl=en_US (https://docs.google.com/document/d/1b...)

Print screen https://docs.google.com/leaf?id=0B6UEJFMrvusLMTI1ZWY1OGYtYmY2NC00OWQyLThhOTUtYTJiNzhiMzFiYzcx&hl=en_US (https://docs.google.com/leaf?id=0B6UE...)

Sorry

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower

Stats

Asked: 2011-06-22 10:14:52 -0500

Seen: 293 times

Last updated: Jun 27 '11