blob: d4e183befe39e103daebd0c8c7f5cbeeb85bc3f0 [file] [log] [blame]
srikanth116e6e82014-08-19 07:22:37 -07001#
2# Copyright (c) 2013 Big Switch Networks, Inc.
3#
4# Licensed under the Eclipse Public License, Version 1.0 (the
5# "License"); you may not use this file except in compliance with the
6# License. You may obtain a copy of the License at
7#
8# http://www.eclipse.org/legal/epl-v10.html
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13# implied. See the License for the specific language governing
14# permissions and limitations under the License.
15#
16
17from django.db import models
18
19# Create your models here.
20class StatdropdConfig(models.Model):
21
22 # id is set to the local cluster id.
23 id = models.CharField(
24 primary_key=True,
25 max_length=128)
26
27 # Enable dropping local data
28 enabled = models.BooleanField(
29 verbose_name='Enabled',
30 help_text='Is dropping local data enabled.',
31 default=True)
32
33 # Log level for the statdropd daemon process
34 log_level = models.CharField(
35 max_length=32,
36 verbose_name='Log Level',
37 help_text='Log level for the statdropd daemon process',
38 default='warning')
39
40 period = models.PositiveIntegerField(
41 verbose_name='Period',
42 help_text='How often (in seconds) to drop local stats/log data',
43 default=600)
44
45 #retain_synced_data_duration = models.PositiveIntegerField(
46 # verbose_name='Retain Synced Data',
47 # help_text="How long should data that's been synced to the cloud be retained locally",
48 # default=604800)
49
50 retain_data_duration = models.PositiveIntegerField(
51 verbose_name='Retain Data Duration',
52 help_text="How long should data be retained locally",
53 default=604800)
54
55 class Rest:
56 NAME = 'statdropd-config'
57 FIELD_INFO = (
58 {'name': 'log_level', 'rest_name': 'log-level'},
59 #{'name': 'retain_synced_data_duration', 'rest_name': 'retain-synced-data-duration'},
60 {'name': 'retain_data_duration', 'rest_name': 'retain-data-duration'},
61 )
62
63class StatdropdProgressInfo(models.Model):
64
65 # id value is <controller-node-id>
66 id = models.CharField(
67 primary_key=True,
68 max_length=256)
69
70 last_drop_point = models.PositiveIntegerField(
71 verbose_name='Last Drop Point',
72 help_text='Last point when stats data was successfully dropped from the local controller node')
73
74 class Rest:
75 NAME = 'statdropd-progress-info'
76 FIELD_INFO = (
77 {'name': 'last_drop_point', 'rest_name': 'last-drop-point'},
78 )