Revision 2cc9d3a5

b/README
24 24

  
25 25
to 
26 26
        ctype = self.request.META.get('CONTENT_TYPE', type_formencoded).split(";")[0]
27

  
28
Initial data
29
---------
30
Initial data come with sqlite database.sqlite. 
31

  
b/api/handlers.py
8 8
from synnefo.api.faults import fault, noContent, accepted, created
9 9
from synnefo.api.helpers import instance_to_server, paginator
10 10
from synnefo.util.rapi import GanetiRapiClient, GanetiApiError
11
from synnefo.vocabs import MOCK_SERVERS, MOCK_IMAGES
12
from synnefo.db.models import VirtualMachine, User, id_from_instance_name
11
from synnefo.db.models import VirtualMachine, Image, User, id_from_instance_name
13 12
from util.rapi import GanetiRapiClient
14 13

  
15 14

  
......
63 62

  
64 63
    def read_one(self, request, id):
65 64
        if not rapi: # No ganeti backend. Return mock objects
66
            return { "server": MOCK_SERVERS[0] }
65
            servers = VirtualMachine.objects.filter(owner=User.objects.all()[0])
66
            return { "server": servers[0] }
67 67
        try:
68 68
            instance = rapi.GetInstance(id)
69 69
            return { "server": instance_to_server(instance) }
......
74 74
    def read_all(self, request, detail=False):
75 75
        if not rapi: # No ganeti backend. Return mock objects
76 76
            if detail:
77
                return { "servers":  MOCK_SERVERS } #TODO: remove once the mock objects are removed
78 77
                virtual_servers = VirtualMachine.objects.filter(owner=User.objects.all()[0])
79 78
                #get the first user, since we don't have any user data yet
80 79
                virtual_servers_list = [{'status': server.state, 'flavorId': server.flavor, \
......
87 86
                #pass some fake data regarding ip, since we don't have any such data
88 87
                return { "servers":  virtual_servers_list }                
89 88
            else:
90
                return { "servers": [ { "id": s['id'], "name": s['name'] } for s in MOCK_SERVERS ] }
89
                virtual_servers = VirtualMachine.objects.filter(owner=User.objects.all()[0])
90
                return { "servers": [ { "id": s.id, "name": s.name } for s in virtual_servers ] }
91 91

  
92 92
        if not detail:
93 93
            instances = rapi.GetInstances(bulk=False)
......
239 239
        Faults: cloudServersFault, serviceUnavailable, unauthorized,
240 240
                badRequest, itemNotFound
241 241
        """
242
        images = Image.objects.all()
242 243
        if not rapi: # No ganeti backend. Return mock objects
243 244
            if id == "detail":
244
                return { "images": MOCK_IMAGES }
245
                return { "images": images }
245 246
            elif id is None:
246
                return { "images": [ { "id": s['id'], "name": s['name'] } for s in MOCK_IMAGES ] }
247
                return { "images": [ { "id": s.id, "name": s.name } for s in images ] }
247 248
            else:
248
                return { "image": MOCK_IMAGES[0] }
249
                return { "image": images[0] }
249 250
        if id is None:
250 251
            return {}
251 252
        elif id == "detail":
b/oceandata.json
1
[{"pk": 15, "model": "contenttypes.contenttype", "fields": {"model": "accountinglog", "name": "Charging log", "app_label": "db"}}, {"pk": 11, "model": "contenttypes.contenttype", "fields": {"model": "userlimit", "name": "Enforced limit for user", "app_label": "db"}}, {"pk": 16, "model": "contenttypes.contenttype", "fields": {"model": "image", "name": "Image", "app_label": "db"}}, {"pk": 14, "model": "contenttypes.contenttype", "fields": {"model": "virtualmachinemetadata", "name": "Key-value pair of metadata for a VM.", "app_label": "db"}}, {"pk": 10, "model": "contenttypes.contenttype", "fields": {"model": "oceanuser", "name": "Ocean User", "app_label": "db"}}, {"pk": 9, "model": "contenttypes.contenttype", "fields": {"model": "limit", "name": "User limit", "app_label": "db"}}, {"pk": 12, "model": "contenttypes.contenttype", "fields": {"model": "flavor", "name": "Virtual machine flavor", "app_label": "db"}}, {"pk": 13, "model": "contenttypes.contenttype", "fields": {"model": "virtualmachine", "name": "Virtual machine instance", "app_label": "db"}}, {"pk": 5, "model": "contenttypes.contenttype", "fields": {"model": "contenttype", "name": "content type", "app_label": "contenttypes"}}, {"pk": 2, "model": "contenttypes.contenttype", "fields": {"model": "group", "name": "group", "app_label": "auth"}}, {"pk": 8, "model": "contenttypes.contenttype", "fields": {"model": "logentry", "name": "log entry", "app_label": "admin"}}, {"pk": 4, "model": "contenttypes.contenttype", "fields": {"model": "message", "name": "message", "app_label": "auth"}}, {"pk": 1, "model": "contenttypes.contenttype", "fields": {"model": "permission", "name": "permission", "app_label": "auth"}}, {"pk": 6, "model": "contenttypes.contenttype", "fields": {"model": "session", "name": "session", "app_label": "sessions"}}, {"pk": 7, "model": "contenttypes.contenttype", "fields": {"model": "site", "name": "site", "app_label": "sites"}}, {"pk": 3, "model": "contenttypes.contenttype", "fields": {"model": "user", "name": "user", "app_label": "auth"}}, {"pk": 1, "model": "sites.site", "fields": {"domain": "example.com", "name": "example.com"}}, {"pk": 22, "model": "auth.permission", "fields": {"codename": "add_logentry", "name": "Can add log entry", "content_type": 8}}, {"pk": 23, "model": "auth.permission", "fields": {"codename": "change_logentry", "name": "Can change log entry", "content_type": 8}}, {"pk": 24, "model": "auth.permission", "fields": {"codename": "delete_logentry", "name": "Can delete log entry", "content_type": 8}}, {"pk": 4, "model": "auth.permission", "fields": {"codename": "add_group", "name": "Can add group", "content_type": 2}}, {"pk": 5, "model": "auth.permission", "fields": {"codename": "change_group", "name": "Can change group", "content_type": 2}}, {"pk": 6, "model": "auth.permission", "fields": {"codename": "delete_group", "name": "Can delete group", "content_type": 2}}, {"pk": 10, "model": "auth.permission", "fields": {"codename": "add_message", "name": "Can add message", "content_type": 4}}, {"pk": 11, "model": "auth.permission", "fields": {"codename": "change_message", "name": "Can change message", "content_type": 4}}, {"pk": 12, "model": "auth.permission", "fields": {"codename": "delete_message", "name": "Can delete message", "content_type": 4}}, {"pk": 1, "model": "auth.permission", "fields": {"codename": "add_permission", "name": "Can add permission", "content_type": 1}}, {"pk": 2, "model": "auth.permission", "fields": {"codename": "change_permission", "name": "Can change permission", "content_type": 1}}, {"pk": 3, "model": "auth.permission", "fields": {"codename": "delete_permission", "name": "Can delete permission", "content_type": 1}}, {"pk": 7, "model": "auth.permission", "fields": {"codename": "add_user", "name": "Can add user", "content_type": 3}}, {"pk": 8, "model": "auth.permission", "fields": {"codename": "change_user", "name": "Can change user", "content_type": 3}}, {"pk": 9, "model": "auth.permission", "fields": {"codename": "delete_user", "name": "Can delete user", "content_type": 3}}, {"pk": 13, "model": "auth.permission", "fields": {"codename": "add_contenttype", "name": "Can add content type", "content_type": 5}}, {"pk": 14, "model": "auth.permission", "fields": {"codename": "change_contenttype", "name": "Can change content type", "content_type": 5}}, {"pk": 15, "model": "auth.permission", "fields": {"codename": "delete_contenttype", "name": "Can delete content type", "content_type": 5}}, {"pk": 43, "model": "auth.permission", "fields": {"codename": "add_accountinglog", "name": "Can add Charging log", "content_type": 15}}, {"pk": 44, "model": "auth.permission", "fields": {"codename": "change_accountinglog", "name": "Can change Charging log", "content_type": 15}}, {"pk": 45, "model": "auth.permission", "fields": {"codename": "delete_accountinglog", "name": "Can delete Charging log", "content_type": 15}}, {"pk": 34, "model": "auth.permission", "fields": {"codename": "add_flavor", "name": "Can add Virtual machine flavor", "content_type": 12}}, {"pk": 35, "model": "auth.permission", "fields": {"codename": "change_flavor", "name": "Can change Virtual machine flavor", "content_type": 12}}, {"pk": 36, "model": "auth.permission", "fields": {"codename": "delete_flavor", "name": "Can delete Virtual machine flavor", "content_type": 12}}, {"pk": 46, "model": "auth.permission", "fields": {"codename": "add_image", "name": "Can add Image", "content_type": 16}}, {"pk": 47, "model": "auth.permission", "fields": {"codename": "change_image", "name": "Can change Image", "content_type": 16}}, {"pk": 48, "model": "auth.permission", "fields": {"codename": "delete_image", "name": "Can delete Image", "content_type": 16}}, {"pk": 25, "model": "auth.permission", "fields": {"codename": "add_limit", "name": "Can add User limit", "content_type": 9}}, {"pk": 26, "model": "auth.permission", "fields": {"codename": "change_limit", "name": "Can change User limit", "content_type": 9}}, {"pk": 27, "model": "auth.permission", "fields": {"codename": "delete_limit", "name": "Can delete User limit", "content_type": 9}}, {"pk": 28, "model": "auth.permission", "fields": {"codename": "add_oceanuser", "name": "Can add Ocean User", "content_type": 10}}, {"pk": 29, "model": "auth.permission", "fields": {"codename": "change_oceanuser", "name": "Can change Ocean User", "content_type": 10}}, {"pk": 30, "model": "auth.permission", "fields": {"codename": "delete_oceanuser", "name": "Can delete Ocean User", "content_type": 10}}, {"pk": 31, "model": "auth.permission", "fields": {"codename": "add_userlimit", "name": "Can add Enforced limit for user", "content_type": 11}}, {"pk": 32, "model": "auth.permission", "fields": {"codename": "change_userlimit", "name": "Can change Enforced limit for user", "content_type": 11}}, {"pk": 33, "model": "auth.permission", "fields": {"codename": "delete_userlimit", "name": "Can delete Enforced limit for user", "content_type": 11}}, {"pk": 37, "model": "auth.permission", "fields": {"codename": "add_virtualmachine", "name": "Can add Virtual machine instance", "content_type": 13}}, {"pk": 38, "model": "auth.permission", "fields": {"codename": "change_virtualmachine", "name": "Can change Virtual machine instance", "content_type": 13}}, {"pk": 39, "model": "auth.permission", "fields": {"codename": "delete_virtualmachine", "name": "Can delete Virtual machine instance", "content_type": 13}}, {"pk": 40, "model": "auth.permission", "fields": {"codename": "add_virtualmachinemetadata", "name": "Can add Key-value pair of metadata for a VM.", "content_type": 14}}, {"pk": 41, "model": "auth.permission", "fields": {"codename": "change_virtualmachinemetadata", "name": "Can change Key-value pair of metadata for a VM.", "content_type": 14}}, {"pk": 42, "model": "auth.permission", "fields": {"codename": "delete_virtualmachinemetadata", "name": "Can delete Key-value pair of metadata for a VM.", "content_type": 14}}, {"pk": 16, "model": "auth.permission", "fields": {"codename": "add_session", "name": "Can add session", "content_type": 6}}, {"pk": 17, "model": "auth.permission", "fields": {"codename": "change_session", "name": "Can change session", "content_type": 6}}, {"pk": 18, "model": "auth.permission", "fields": {"codename": "delete_session", "name": "Can delete session", "content_type": 6}}, {"pk": 19, "model": "auth.permission", "fields": {"codename": "add_site", "name": "Can add site", "content_type": 7}}, {"pk": 20, "model": "auth.permission", "fields": {"codename": "change_site", "name": "Can change site", "content_type": 7}}, {"pk": 21, "model": "auth.permission", "fields": {"codename": "delete_site", "name": "Can delete site", "content_type": 7}}, {"pk": 1, "model": "auth.user", "fields": {"username": "admin", "first_name": "", "last_name": "", "is_active": true, "is_superuser": true, "is_staff": true, "last_login": "2011-02-01 11:21:53", "groups": [], "user_permissions": [], "password": "sha1$ae93d$0c8a13b88b7220e25acd2aa8ebfa40effa36a7dd", "email": "s@s.gr", "date_joined": "2011-02-01 11:21:53"}}]
b/settings.py.dist
14 14
DATABASES = {
15 15
    'default': {
16 16
        'ENGINE': 'sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
17
        'NAME': 'vasi.sqlite',                      # Or path to database file if using sqlite3.
17
        'NAME': 'database.sqlite',                      # Or path to database file if using sqlite3.
18 18
        'USER': '',                      # Not used with sqlite3.
19 19
        'PASSWORD': '',                  # Not used with sqlite3.
20 20
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
b/urls.py
13 13
    (r'^auth/api/', include('synnefo.auth.urls')),
14 14
    (r'^api/', include('synnefo.api.urls')),
15 15
    (r'^', include('synnefo.ui.urls')),
16
    (r'^admin/(.*)', admin.site.root)
17
)
16
    (r'^admin/', include(admin.site.urls)),
17
)
b/vocabs.py
20 20
                11: 'ubuntu',
21 21
                12: 'windows',
22 22
             }
23

  
23
#not used any more
24 24
MOCK_IMAGES = [
25 25
                {
26 26
                    "id" : 2,
......
69 69
              ]
70 70

  
71 71

  
72
#not used any more
72 73
MOCK_SERVERS = [
73 74
                {
74 75
                "id" : 1234,

Also available in: Unified diff