Base net-virt CLI files on top of which ONOS specific changes will be done
diff --git a/cli/sdncon/statdropd/models.py b/cli/sdncon/statdropd/models.py
new file mode 100755
index 0000000..d4e183b
--- /dev/null
+++ b/cli/sdncon/statdropd/models.py
@@ -0,0 +1,78 @@
+#
+# Copyright (c) 2013 Big Switch Networks, Inc.
+#
+# Licensed under the Eclipse Public License, Version 1.0 (the
+# "License"); you may not use this file except in compliance with the
+# License. You may obtain a copy of the License at
+#
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+
+from django.db import models
+
+# Create your models here.
+class StatdropdConfig(models.Model):
+
+ # id is set to the local cluster id.
+ id = models.CharField(
+ primary_key=True,
+ max_length=128)
+
+ # Enable dropping local data
+ enabled = models.BooleanField(
+ verbose_name='Enabled',
+ help_text='Is dropping local data enabled.',
+ default=True)
+
+ # Log level for the statdropd daemon process
+ log_level = models.CharField(
+ max_length=32,
+ verbose_name='Log Level',
+ help_text='Log level for the statdropd daemon process',
+ default='warning')
+
+ period = models.PositiveIntegerField(
+ verbose_name='Period',
+ help_text='How often (in seconds) to drop local stats/log data',
+ default=600)
+
+ #retain_synced_data_duration = models.PositiveIntegerField(
+ # verbose_name='Retain Synced Data',
+ # help_text="How long should data that's been synced to the cloud be retained locally",
+ # default=604800)
+
+ retain_data_duration = models.PositiveIntegerField(
+ verbose_name='Retain Data Duration',
+ help_text="How long should data be retained locally",
+ default=604800)
+
+ class Rest:
+ NAME = 'statdropd-config'
+ FIELD_INFO = (
+ {'name': 'log_level', 'rest_name': 'log-level'},
+ #{'name': 'retain_synced_data_duration', 'rest_name': 'retain-synced-data-duration'},
+ {'name': 'retain_data_duration', 'rest_name': 'retain-data-duration'},
+ )
+
+class StatdropdProgressInfo(models.Model):
+
+ # id value is <controller-node-id>
+ id = models.CharField(
+ primary_key=True,
+ max_length=256)
+
+ last_drop_point = models.PositiveIntegerField(
+ verbose_name='Last Drop Point',
+ help_text='Last point when stats data was successfully dropped from the local controller node')
+
+ class Rest:
+ NAME = 'statdropd-progress-info'
+ FIELD_INFO = (
+ {'name': 'last_drop_point', 'rest_name': 'last-drop-point'},
+ )