Commit c01fe048 authored by Bryton Lacquement's avatar Bryton Lacquement 🚪

wip

parent c3ddde23
...@@ -230,9 +230,9 @@ class GenericPromise(object): ...@@ -230,9 +230,9 @@ class GenericPromise(object):
""" """
Call bang if requested Call bang if requested
""" """
if self.__config.has_key('master-url') and \ if 'master-url' in self.__config and \
self.__config.has_key('partition-id') and \ 'partition-in' in self.__config and \
self.__config.has_key('computer-id'): 'computer-id' in self.__config:
slap = slapos.slap.slap() slap = slapos.slap.slap()
slap.initializeConnection( slap.initializeConnection(
......
...@@ -352,8 +352,7 @@ def launchBuildout(path, buildout_binary, logger, ...@@ -352,8 +352,7 @@ def launchBuildout(path, buildout_binary, logger,
def updateFile(file_path, content, mode=0o600): def updateFile(file_path, content, mode=0o600):
"""Creates or updates a file with "content" as content.""" """Creates or updates a file with "content" as content."""
altered = False altered = False
if isinstance(content, six.text_type): content = content.encode('utf-8')
content = content.encode('utf-8')
if not (os.path.isfile(file_path)) or \ if not (os.path.isfile(file_path)) or \
not (hashlib.md5(open(file_path, 'rb').read()).digest() == not (hashlib.md5(open(file_path, 'rb').read()).digest() ==
hashlib.md5(content).digest()): hashlib.md5(content).digest()):
......
...@@ -312,8 +312,8 @@ def loadComputerConfigurationFromXML(): ...@@ -312,8 +312,8 @@ def loadComputerConfigurationFromXML():
@app.route('/registerComputerPartition', methods=['GET']) @app.route('/registerComputerPartition', methods=['GET'])
def registerComputerPartition(): def registerComputerPartition():
computer_reference = request.args['computer_reference'] computer_reference = unicode2str(request.args['computer_reference'])
computer_partition_reference = request.args['computer_partition_reference'] computer_partition_reference = unicode2str(request.args['computer_partition_reference'])
partition = execute_db('partition', 'SELECT * FROM %s WHERE reference=? and computer_reference=?', partition = execute_db('partition', 'SELECT * FROM %s WHERE reference=? and computer_reference=?',
[computer_partition_reference, computer_reference], one=True) [computer_partition_reference, computer_reference], one=True)
if partition is None: if partition is None:
...@@ -381,16 +381,17 @@ def parseRequestComputerPartitionForm(form): ...@@ -381,16 +381,17 @@ def parseRequestComputerPartitionForm(form):
""" """
Parse without intelligence a form from a request(), return it. Parse without intelligence a form from a request(), return it.
""" """
parsed_dict = {} parsed_dict = {
parsed_dict['software_release'] = unicode2str(form['software_release']) 'software_release': unicode2str(form['software_release']),
parsed_dict['software_type'] = unicode2str(form.get('software_type')) 'software_type': unicode2str(form.get('software_type')),
parsed_dict['partition_reference'] = unicode2str(form.get('partition_reference', '')) 'partition_reference': unicode2str(form.get('partition_reference', '')),
parsed_dict['partition_id'] = unicode2str(form.get('computer_partition_id', '')) 'partition_id': unicode2str(form.get('computer_partition_id', '')),
parsed_dict['partition_parameter_kw'] = loads(unicode2str(form.get('partition_parameter_xml', EMPTY_DICT_XML))) 'partition_parameter_kw': loads(unicode2str(form.get('partition_parameter_xml', EMPTY_DICT_XML))),
parsed_dict['filter_kw'] = loads(unicode2str(form.get('filter_xml', EMPTY_DICT_XML))) 'filter_kw': loads(unicode2str(form.get('filter_xml', EMPTY_DICT_XML))),
# Note: currently ignored for slave instance (slave instances # Note: currently ignored for slave instance (slave instances
# are always started). # are always started).
parsed_dict['requested_state'] = loads(unicode2str(form.get('state'))) 'requested_state': loads(unicode2str(form.get('state'))),
}
return parsed_dict return parsed_dict
...@@ -411,12 +412,9 @@ def checkIfMasterIsCurrentMaster(master_url): ...@@ -411,12 +412,9 @@ def checkIfMasterIsCurrentMaster(master_url):
slap = slapos.slap.slap() slap = slapos.slap.slap()
slap.initializeConnection(master_url) slap.initializeConnection(master_url)
try: try:
master_run_id = slap._connection_helper.GET('/getRunId') return run_id == slap._connection_helper.GET('/getRunId')
except: except:
return False return False
if master_run_id == run_id:
return True
return False
@app.route('/getRunId', methods=['GET']) @app.route('/getRunId', methods=['GET'])
def getRunId(): def getRunId():
...@@ -691,15 +689,16 @@ def requestSlave(software_release, software_type, partition_reference, partition ...@@ -691,15 +689,16 @@ def requestSlave(software_release, software_type, partition_reference, partition
# Add slave to partition slave_list if not present else replace information # Add slave to partition slave_list if not present else replace information
slave_instance_list = partition['slave_instance_list'] slave_instance_list = partition['slave_instance_list']
if slave_instance_list is None: if slave_instance_list:
slave_instance_list = []
else:
slave_instance_list = loads(slave_instance_list) slave_instance_list = loads(slave_instance_list)
for x in slave_instance_list: for i, x in enumerate(slave_instance_list):
if x['slave_reference'] == slave_reference: if x['slave_reference'] == slave_reference:
slave_instance_list.remove(x) slave_instance_list[i] = new_slave
break
slave_instance_list.append(new_slave) else:
slave_instance_list.append(new_slave)
else:
slave_instance_list = [new_slave]
# Update slave_instance_list in database # Update slave_instance_list in database
args = [] args = []
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment