Skip to content

Commit

Permalink
bug fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
advornic committed Feb 9, 2015
1 parent 14dcd06 commit 9d49680
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 10 deletions.
3 changes: 1 addition & 2 deletions ztpserver/repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ def add_folder(self, folder_path):
'''
try:
folder_path = self.expand(folder_path)
os.makedirs(folder_path)
os.makedirs(folder_path, 0774)
return folder_path
except OSError as err:
log.error('Failed to add folder %s (%s)' %
Expand Down Expand Up @@ -257,7 +257,6 @@ def add_file(self, file_path, contents=None, content_type=None):
obj = FileObject(file_path)
if contents:
obj.write(contents, content_type)
os.chmod(file_path, 0774)
return obj

def exists(self, file_path):
Expand Down
9 changes: 7 additions & 2 deletions ztpserver/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
import collections
import logging
import json
import os
import threading
import yaml

Expand Down Expand Up @@ -231,10 +232,14 @@ def dump(data, file_path, content_type, node_id='N/A', lock=False):
try:
if lock:
with READ_WRITE_LOCK[file_path]:
with open(file_path, 'w') as fhandler:
with os.fdopen(os.open(file_path,
os.O_WRONLY | os.O_CREAT, 0754),
'w') as fhandler:
fhandler.write(dumps(data, content_type, node_id))
else:
with open(file_path, 'w') as fhandler:
with os.fdopen(os.open(file_path,
os.O_WRONLY | os.O_CREAT, 0754),
'w') as fhandler:
fhandler.write(dumps(data, content_type, node_id))
except (OSError, IOError) as err:
log.error('%s: failed to write file to %s (%s)' %
Expand Down
13 changes: 7 additions & 6 deletions ztpserver/topology.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,8 @@ def load_pattern(pattern, content_type=CONTENT_TYPE_YAML, node_id=None):
if not isinstance(pattern, collections.Mapping):
pattern = load_file(pattern, content_type,
node_id)
pattern['config_handler'] = pattern['config-handler']
del pattern['config-handler']

# add dummy values to pass validation
for dummy in ['definition', 'name', 'config_handler']:
Expand All @@ -141,8 +143,9 @@ def load_pattern(pattern, content_type=CONTENT_TYPE_YAML, node_id=None):

pattern['node_id'] = node_id
return Pattern(**pattern)
except TypeError:
log.error('%s: failed to load pattern \'%s\'' % (node_id, pattern))
except TypeError as exc:
log.error('%s: failed to load pattern \'%s\' (%s)' %
(node_id, pattern, exc))

def create_node(nodeattrs):
try:
Expand Down Expand Up @@ -371,23 +374,21 @@ def add_pattern(self, name, **kwargs):
kwargs['node_id'] = self.node_id
kwargs['name'] = name

kwargs['node'] = kwargs.get('node')
kwargs['definition'] = kwargs.get('definition')
kwargs['config_handler'] = kwargs.get('config-handler')
del kwargs['config-handler']
kwargs['interfaces'] = kwargs.get('interfaces', list())
kwargs['variables'] = kwargs.get('variables', dict())

for key in set(self.variables).difference(kwargs['variables']):
kwargs['variables'][key] = self.variables[key]


pattern = Pattern(**kwargs)

log.debug('%s: pattern \'%r\' parsed successfully' %
(self.node_id, pattern))

# Add pattern to neighbordb
if kwargs['node']:
if 'node' in kwargs:
if pattern.node not in self.patterns['nodes']:
self.patterns['nodes'][pattern.node] = pattern
else:
Expand Down

0 comments on commit 9d49680

Please sign in to comment.