~lutostag/ubuntu/trusty/maas/1.5.4+keystone

« back to all changes in this revision

Viewing changes to src/metadataserver/models/nodecommissionresult.py

  • Committer: Package Import Robot
  • Author(s): Andres Rodriguez
  • Date: 2013-03-04 11:49:44 UTC
  • mto: This revision was merged to the branch mainline in revision 25.
  • Revision ID: package-import@ubuntu.com-20130304114944-azcvu9anlf8mizpa
Tags: upstream-1.3+bzr1452+dfsg
ImportĀ upstreamĀ versionĀ 1.3+bzr1452+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
from django.db.models import (
19
19
    CharField,
20
20
    ForeignKey,
 
21
    IntegerField,
21
22
    Manager,
22
 
    Model,
23
23
    )
24
24
from django.shortcuts import get_object_or_404
25
25
from maasserver.models.cleansave import CleanSave
 
26
from maasserver.models.timestampedmodel import TimestampedModel
26
27
from metadataserver import DefaultMeta
27
28
 
28
29
 
33
34
        """Remove all existing results for a node."""
34
35
        self.filter(node=node).delete()
35
36
 
36
 
    def store_data(self, node, name, data):
 
37
    def store_data(self, node, name, script_result, data):
37
38
        """Store data about a node."""
38
39
        existing, created = self.get_or_create(
39
 
            node=node, name=name, defaults=dict(data=data))
 
40
            node=node, name=name,
 
41
            defaults=dict(script_result=script_result, data=data))
40
42
        if not created:
41
43
            existing.data = data
42
44
            existing.save()
47
49
        return ncr.data
48
50
 
49
51
 
50
 
class NodeCommissionResult(CleanSave, Model):
 
52
class NodeCommissionResult(CleanSave, TimestampedModel):
51
53
    """Storage for data returned from node commissioning.
52
54
 
53
55
    Commissioning a node results in various bits of data that need to be
55
57
    as unicode text, with an arbitrary name, for later retrieval.
56
58
 
57
59
    :ivar node: The context :class:`Node`.
 
60
    :ivar status: If this data results from the execution of a script, this
 
61
        is the status of this execution.  This can be "OK", "FAILED" or
 
62
        "WORKING" for progress reports.
58
63
    :ivar name: A unique name to use for the data being stored.
59
64
    :ivar data: The file's actual data, unicode only.
60
65
    """
66
71
 
67
72
    node = ForeignKey(
68
73
        'maasserver.Node', null=False, editable=False, unique=False)
69
 
    name = CharField(max_length=100, unique=False, editable=False)
70
 
    data = CharField(max_length=1024 * 1024, editable=True)
 
74
    script_result = IntegerField(editable=False)
 
75
    name = CharField(max_length=255, unique=False, editable=False)
 
76
    data = CharField(
 
77
        max_length=1024 * 1024, editable=True, blank=True, default='')