Skip to content

Commit

Permalink
Merge pull request rockstor#691 from schakrava/650_raidlevel_changes
Browse files Browse the repository at this point in the history
650 raidlevel changes. fixes rockstor#650
  • Loading branch information
schakrava committed Jun 26, 2015
2 parents 9bd0ea5 + 3878f9d commit 8e621a6
Show file tree
Hide file tree
Showing 30 changed files with 1,759 additions and 1,523 deletions.
4 changes: 2 additions & 2 deletions base-buildout.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ recipe = plone.recipe.command
ctl = ${buildout:directory}/bin/supervisorctl
command = (if [ -f ${stop-servers:ctl} ]; then ${stop-servers:ctl} shutdown; fi)
update-command = ${stop-servers:command}
stop-on-error = yes
stop-on-error = no

[rpm-deps]
recipe = plone.recipe.command
Expand All @@ -61,7 +61,7 @@ command =
${rpm-deps:install_cmd} oddjob-mkhomedir pam_krb5 krb5-workstation &&
${rpm-deps:install_cmd} postgresql postgresql-server &&
${rpm-deps:install_cmd} postgresql-devel &&
${rpm-deps:install_cmd} kernel-ml btrfs-progs
${rpm-deps:install_cmd} kernel-ml btrfs-progs wget

[python]
recipe = zc.recipe.cmmi
Expand Down
2 changes: 2 additions & 0 deletions conf/rockstor.service
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
[Unit]
Description=RockStor startup script
After=postgresql.service
Requires=postgresql.service

[Service]
ExecStart=/opt/rockstor/bin/supervisord -c /opt/rockstor/etc/supervisord.conf
Expand Down
14 changes: 8 additions & 6 deletions src/rockstor/fs/btrfs.py
Original file line number Diff line number Diff line change
Expand Up @@ -284,12 +284,13 @@ def shares_info(mnt_pt):

def snaps_info(mnt_pt, share_name):
o, e, rc = run_command([BTRFS, 'subvolume', 'list', '-u', '-p', '-q', mnt_pt])
share_id = None
share_id = share_uuid = None
for l in o:
if (re.match('ID ', l) is not None):
fields = l.split()
if (fields[-1] == share_name):
share_id = fields[1]
share_uuid = fields[12]
if (share_id is None):
raise Exception('Failed to get uuid of the share(%s) under mount(%s)'
% (share_name, mnt_pt))
Expand All @@ -301,7 +302,7 @@ def snaps_info(mnt_pt, share_name):
if (re.match('ID ', l) is not None):
fields = l.split()
#parent uuid must be share_uuid
if (fields[7] != share_id):
if (fields[7] != share_id and fields[15] != share_uuid):
continue
writable = True
o1, e1, rc1 = run_command([BTRFS, 'property', 'get',
Expand Down Expand Up @@ -490,16 +491,17 @@ def share_usage(pool, pool_device, share_id):
root_pool_mnt = mount_root(pool, pool_device)
cmd = [BTRFS, 'qgroup', 'show', root_pool_mnt]
out, err, rc = run_command(cmd)
usage = None
rusage = eusage = None
for line in out:
fields = line.split()
if (fields[0] == share_id):
usage = convert_to_KiB(fields[-2])
rusage = convert_to_KiB(fields[-2])
eusage = convert_to_KiB(fields[-2])
break
if (usage is None):
if (rusage is None or eusage is None):
raise Exception('usage cannot be determined for share_id: %s' %
share_id)
return usage
return (rusage, eusage)


def shares_usage(pool, pool_device, share_map, snap_map):
Expand Down
2 changes: 1 addition & 1 deletion src/rockstor/prep_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"""

from smart_manager.models import Service
from storageadmin.models import Setup, Plugin
from storageadmin.models import Setup


def register_services():
Expand Down

Large diffs are not rendered by default.

18 changes: 2 additions & 16 deletions src/rockstor/storageadmin/models/share.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,22 +39,8 @@ class Share(models.Model):
subvol_name = models.CharField(max_length=4096)
replica = models.BooleanField(default=False)
compression_algo = models.CharField(max_length=1024, null=True)

@property
def cur_rusage(self, *args, **kwargs):
try:
su = ShareUsage.objects.filter(name=self.name).order_by('-ts')[0]
return su.r_usage
except:
return -1

@property
def cur_eusage(self, *args, **kwargs):
try:
su = ShareUsage.objects.filter(name=self.name).order_by('-ts')[0]
return su.e_usage
except:
return -1
rusage = models.BigIntegerField(default=0)
eusage = models.BigIntegerField(default=0)

class Meta:
app_label = 'storageadmin'
18 changes: 2 additions & 16 deletions src/rockstor/storageadmin/models/snapshot.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,22 +36,8 @@ class Snapshot(models.Model):
uvisible = models.BooleanField(default=False)
"""replication, admin etc.."""
snap_type = models.CharField(max_length=64, default='admin')

@property
def cur_rusage(self, *args, **kwargs):
try:
su = ShareUsage.objects.filter(name=self.real_name).order_by('-ts')[0]
return su.r_usage
except:
return -1

@property
def cur_eusage(self, *args, **kwargs):
try:
su = ShareUsage.objects.filter(name=self.real_name).order_by('-ts')[0]
return su.e_usage
except:
return -1
rusage = models.BigIntegerField(default=0)
eusage = models.BigIntegerField(default=0)

class Meta:
unique_together = ('share', 'name',)
Expand Down
19 changes: 1 addition & 18 deletions src/rockstor/storageadmin/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
SambaShare, IscsiTarget, Appliance,
SupportCase, DashboardConfig,
NetworkInterface, User, PoolScrub, Setup,
NFSExportGroup, SFTP, Plugin, InstalledPlugin,
NFSExportGroup, SFTP,
AdvancedNFSExport, OauthApp, NetatalkShare,
Group, PoolBalance, SambaCustomConfig,
TLSCertificate, RockOn, DVolume, DPort,
Expand Down Expand Up @@ -49,8 +49,6 @@ class Meta:


class SnapshotSerializer(serializers.ModelSerializer):
cur_rusage = serializers.IntegerField()
cur_eusage = serializers.IntegerField()

class Meta:
model = Snapshot
Expand Down Expand Up @@ -118,8 +116,6 @@ class ShareSerializer(serializers.ModelSerializer):
snapshots = SnapshotSerializer(many=True, source='snapshot_set')
pool = PoolInfoSerializer()
nfs_exports = NFSExportSerializer(many=True, source='nfsexport_set')
r_usage = serializers.IntegerField(source='cur_rusage')
e_usage = serializers.IntegerField(source='cur_eusage')

class Meta:
model = Share
Expand Down Expand Up @@ -167,19 +163,6 @@ class Meta:
model = SFTP


class PluginSerializer(serializers.ModelSerializer):

class Meta:
model = Plugin


class InstalledPluginSerializer(serializers.ModelSerializer):
plugin_meta = PluginSerializer(source='plugin_meta')

class Meta:
model = InstalledPlugin


class OauthAppSerializer(serializers.ModelSerializer):
client_id = serializers.CharField()
client_secret = serializers.CharField()
Expand Down
18 changes: 0 additions & 18 deletions src/rockstor/storageadmin/static/storageadmin/js/models/models.js
Original file line number Diff line number Diff line change
Expand Up @@ -509,24 +509,6 @@ var AFPCollection = RockStorPaginatedCollection.extend({
});


var Plugin = Backbone.Model.extend({
urlRoot: '/api/plugins'
});

var PluginCollection = RockStorPaginatedCollection.extend({
model: Plugin,
baseUrl: '/api/plugins'
});

var InstalledPlugin = Backbone.Model.extend({
urlRoot: '/api/installed_plugins'
});

var InstalledPluginCollection = RockStorPaginatedCollection.extend({
model: InstalledPlugin,
baseUrl: '/api/installed_plugins'
});

var ReplicaReceive = Backbone.Model.extend({
urlRoot: "/api/sm/replicareceives"
});
Expand Down
Loading

0 comments on commit 8e621a6

Please sign in to comment.