def usage(self, cmdname): BaseClient.usage(self, cmdname) print " add_nodes serviceid count [cloud] # add the specified number of scalaris nodes." print " # Set \'cloud\' to \'auto\' to automatically place nodes across multiple clouds." print " remove_nodes serviceid count [cloud] # remove the specified number of scalaris nodes" print " list_nodes serviceid # list all nodes" print " get_node_info serviceid nodeid # get information about the specified node"
def usage(self, aid, sid ): BaseClient.usage(self, aid, sid) print "" print " ----Service specific commands-------" print "" print " get_helloworld appid serviceid" print " add_nodes appid serviceid count [cloud]" print " remove_nodes appid serviceid count"
def usage(self, cmdname): BaseClient.usage(self, cmdname) print " add_nodes serviceid count [cloud] # add the specified number of osd nodes" print " remove_nodes serviceid count [cloud] # remove the specified number of osd nodes" print " list_volumes serviceid" print " create_volume serviceid vol_name" print " delete_volume serviceid vol_name" print " list_policies serviceid policy_type # [ osd_sel | replica_sel | replication ]" print " set_policy serviceid policy_type vol_name policy [factor]"
def usage(self, cmdname): BaseClient.usage(self, cmdname) print " set_password serviceid password" print " add_nodes serviceid count [cloud]" print " add_glb_nodes serviceid count [cloud]" print " remove_nodes serviceid count" print " remove_glb_nodes serviceid count" print " sqldump serviceid" print " load_dump serviceid filename" print " migrate_nodes serviceid origin_cloud:node_id:dest_cloud[,o_cloud:node_id:d_cloud]* [delay]"
def usage(self, cmdname): BaseClient.usage(self, cmdname) print " add_nodes serviceid b w p [cloud] # add b backend, w web and p proxy nodes" print " remove_nodes serviceid b w p # remove b backend, w web and p proxy nodes" print " list_keys serviceid # list authorized SSH keys" print " upload_key serviceid filename # upload an SSH key" print " list_uploads serviceid # list uploaded code versions" print " upload_code serviceid filename # upload a new code version" print " download_code serviceid version # download a specific code version" # implemented in {php,java}.py print " enable_code serviceid version # set a specific code version active"
def usage(self, cmdname): BaseClient.usage(self, cmdname) print " add_nodes serviceid count [cloud] # add the specified number of osd nodes" print " remove_nodes serviceid count [cloud] # remove the specified number of osd nodes" print " list_volumes serviceid" print " create_volume serviceid vol_name" print " delete_volume serviceid vol_name" print " list_policies serviceid policy_type # [ osd_sel | replica_sel | replication ]" print " set_policy serviceid policy_type vol_name policy [factor]" print " toggle_persistent serviceid" print " set_osd_size serviceid vol_size"
def info(self, service_id): service = BaseClient.info(self, service_id) print 'persistent:', service['persistent'] print 'osd_volume_size:', service['osd_volume_size'] nodes = self.callmanager(service['sid'], "list_nodes", False, {}) if 'error' in nodes: return print nodes for role in ( 'dir', 'mrc', 'osd' ): print "\n", role.upper(), "nodes:" for node in nodes[role]: params = { 'serviceNodeId': node } details = self.callmanager(service['sid'], "get_node_info", False, params) if 'error' in details: print node, details['error'] continue if role == 'dir': port = 30638 if role == 'osd': port = 30640 if role == 'mrc': port = 30636 print "http://%s:%s" % (details['serviceNode']['ip'], port)
def usage(self, cmdname): BaseClient.usage(self, cmdname) print " == HTC specific commands == " print " hosts serviceid " print " create_job serviceid bot_file" print " upload_file serviceid file" #print " create_worker serviceid type [cloud]" print " create_worker serviceid [cloud]" print " remove_worker serviceid worker_id" print " configuration serviceid" print " throughput serviceid" print " add serviceid job_id bot_file" print " remove serviceid job_id bot_file" print " sample serviceid job_id" print " submit serviceid job_id" print " stat serviceid"
def info(self, service_id): service = BaseClient.info(self, service_id) print 'persistent:', service['persistent'] print 'osd_volume_size:', service['osd_volume_size'] nodes = self.callmanager(service['sid'], "list_nodes", False, {}) if 'error' in nodes: return print nodes for role in ('dir', 'mrc', 'osd'): print "\n", role.upper(), "nodes:" for node in nodes[role]: params = {'serviceNodeId': node} details = self.callmanager(service['sid'], "get_node_info", False, params) if 'error' in details: print node, details['error'] continue if role == 'dir': port = 30638 if role == 'osd': port = 30640 if role == 'mrc': port = 30636 print "http://%s:%s" % (details['serviceNode']['ip'], port)
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service['sid'], "list_nodes", False, {}) if not 'error' in nodes: for node in nodes['helloworld']: params = { 'serviceNodeId': node } details = self.callmanager(service['sid'], "get_node_info", False, params) print "helloworld agent:", details['serviceNode']['ip']
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service['sid'], "list_nodes", False, {}) print type(nodes) for n in nodes: print n + " : " +str(nodes[n]) if 'dict' in service: print service['dict']
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service['sid'], "list_nodes", False, {}) if 'node' in nodes: # Multiple nodes for node in nodes['node']: params = { 'serviceNodeId': node } details = self.callmanager(service['sid'], "get_node_info", False, params) print "node url:", "http://%s:3306" % details['serviceNode']['ip']
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service['sid'], "list_nodes", False, {}) if not 'error' in nodes: for node in nodes['helloworld']: params = {'serviceNodeId': node} details = self.callmanager(service['sid'], "get_node_info", False, params) print "helloworld agent:", details['serviceNode']['ip']
def usage(self, cmdname): BaseClient.usage(self, cmdname) print " add_nodes serviceid count [cloud] # add the specified number of nodes" print " remove_nodes serviceid count # remove the specified number of nodes" print " upload_code serviceid filename # upload a new code version" print " list_keys serviceid # list authorized SSH keys" print " upload_key serviceid filename # upload an SSH key" print " list_uploads serviceid # list uploaded code versions" print " download_code serviceid version # download a specific code version" print " enable_code serviceid version # set a specific code version active" print " delete_code serviceid version # delete a specific code version" print " list_volumes serviceid # list the volumes in use by the Generic agents" print " create_volume serviceid vol_name size(MB) agent_id # create a volume and attatch it to a Generic agent" print " delete_volume serviceid vol_name # detach and delete a volume" print " run serviceid [param] # execute the run.sh script" print " interrupt serviceid [param] # execute the interrupt.sh script" print " cleanup serviceid [param] # execute the cleanup.sh script" print " get_script_status serviceid # get the status of the scripts for each Generic agent" print " get_agent_log serviceid agent_id [filename] # get the agent logs"
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service['sid'], "list_nodes", False, {}) if 'scalaris' in nodes: for node in nodes['scalaris']: params = {'serviceNodeId': node} details = self.callmanager(service['sid'], "get_node_info", False, params) print "management server url:", print "http://%s:8000" % details['serviceNode']['ip']
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service['sid'], "list_nodes", False, {}) if 'scalaris' in nodes: for node in nodes['scalaris']: params = { 'serviceNodeId': node } details = self.callmanager(service['sid'], "get_node_info", False, params) print "management server url:", print "http://%s:8000" % details['serviceNode']['ip']
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service['sid'], "list_nodes", False, {}) for node in nodes['masters']: params = { 'serviceNodeId': node } details = self.callmanager(service['sid'], "get_node_info", False, params) print "master url:", "mysql://%s:3306" % details['serviceNode']['ip'] for node in nodes['slaves']: params = { 'serviceNodeId': node } details = self.callmanager(service['sid'], "get_node_info", False, params) print "slave url: ", "mysql://%s:3306" % details['serviceNode']['ip']
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service['sid'], "list_nodes", False, {}) if 'error' in nodes: return for what in 'proxy', 'web', 'backend': print what, for proxy in nodes[what]: params = { 'serviceNodeId': proxy } details = self.callmanager(service['sid'], "get_node_info", False, params) print details['serviceNode']['ip'], print
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service["sid"], "list_nodes", False, {}) for node in nodes["nodes"]: params = {"serviceNodeId": node} details = self.callmanager(service["sid"], "get_node_info", False, params) node_info = details["serviceNode"] print "node: ip=%s cloud=%s vmid=%s" % (node_info["ip"], node_info["cloud"], node_info["vmid"]) for node in nodes["glb_nodes"]: params = {"serviceNodeId": node} details = self.callmanager(service["sid"], "get_node_info", False, params) node_info = details["serviceNode"] print "glb node: ip=%s cloud=%s vmid=%s" % (node_info["ip"], node_info["cloud"], node_info["vmid"])
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service['sid'], "list_nodes", False, {}) if 'master' in nodes and nodes['master']: # Only one master master = nodes['master'][0] params = { 'serviceNodeId': master } details = self.callmanager(service['sid'], "get_node_info", False, params) print "master:", details['serviceNode']['ip'] if 'node' in nodes: # Multiple nodes for node in nodes['node']: params = { 'serviceNodeId': node } details = self.callmanager(service['sid'], "get_node_info", False, params) print "node:", details['serviceNode']['ip']
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service['sid'], "list_nodes", False, {}) if 'masters' in nodes: for master in nodes['masters']: params = { 'serviceNodeId': master } details = self.callmanager(service['sid'], "get_node_info", False, params) print "master namenode url:", print "http://%s:50070" % details['serviceNode']['ip'] print "master job tracker url:", print "http://%s:50030" % details['serviceNode']['ip'] print "master HUE url:", print "http://%s:8088" % details['serviceNode']['ip']
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service['sid'], "list_nodes", False, {}) if 'hub' in nodes and nodes['hub']: # Only one HUB hub = nodes['hub'][0] params = { 'serviceNodeId': hub } details = self.callmanager(service['sid'], "get_node_info", False, params) print "hub url: ", "http://%s:4444" % details['serviceNode']['ip'], "\tVMid: %s" % details['serviceNode']['id'] print "node url:", "http://%s:3306" % details['serviceNode']['ip'], "\tVMid: %s" % details['serviceNode']['id'] if 'node' in nodes: # Multiple nodes for node in nodes['node']: params = { 'serviceNodeId': node } details = self.callmanager(service['sid'], "get_node_info", False, params) print "node url:", "http://%s:3306" % details['serviceNode']['ip'], "\tVMid: %s" % details['serviceNode']['id']
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service['sid'], "list_nodes", False, {}) if 'masters' in nodes: for master in nodes['masters']: params = {'serviceNodeId': master} details = self.callmanager(service['sid'], "get_node_info", False, params) print "master namenode url:", print "http://%s:50070" % details['serviceNode']['ip'] print "master job tracker url:", print "http://%s:50030" % details['serviceNode']['ip'] print "master HUE url:", print "http://%s:8088" % details['serviceNode']['ip']
def info(self, service_id): service = BaseClient.info(self, service_id) # This call gives a urllib2.URLError "Connection reset by peer" quite # often... res = self.callmanager(service['sid'], "get_service_info", False, {}) #data = simplejson.dumps(res); # print "data:", data print "mode:", res['mode'] print "phase:", res['phase'] print "total tasks:", res['noTotalTasks'] print "completed tasks:", res['noCompletedTasks'] print "money spent sampling:", res['moneySpentSampling'] print "money spent:", res['moneySpent'] if res['noCompletedTasks'] > 0: # if res['state'] != 'RUNNING': print "Busy %s, please wait..." % res['phase'] return sres = self.callmanager(service_id, "get_sampling_results", False, {}) # in json format sdata = simplejson.loads(sres) if 'timestamp' in sdata: # Sampling is ready, check if bag is ready, or if we have to choose a schedule ts = sdata['timestamp'] print strftime("Bag sampled on %a %d %b %Y at %H:%M:%S %Z", localtime(ts/1000)) if 'schedules' in sdata: #sch = sdata['schedules'] #ss = simplejson.dumps(sch) # print "schedules: ", ss if len(sdata['schedules']) == 0: print "Bag finished during sampling phase" return if res['noTotalTasks'] == res['noCompletedTasks']: print "Taskfarm finished" return count = 0 print "Schedules to choose from:" print "%s\t%6.6s\t%6.6s" % ('Sched#','Time', 'Cost') for sched in sdata['schedules']: count = count + 1 print "%s:\t%6.6s\t%6.6s" % ( count, sched['time'], sched['cost'] ) return print "error in samplingresults: ", sdata
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service['sid'], "list_nodes", False, {}) if 'hub' in nodes and nodes['hub']: # Only one HUB hub = nodes['hub'][0] params = {'serviceNodeId': hub} details = self.callmanager(service['sid'], "get_node_info", False, params) print "hub url: ", "http://%s:4444" % details['serviceNode']['ip'] print "node url:", "http://%s:3306" % details['serviceNode']['ip'] if 'node' in nodes: # Multiple nodes for node in nodes['node']: params = {'serviceNodeId': node} details = self.callmanager(service['sid'], "get_node_info", False, params) print "node url:", "http://%s:3306" % details['serviceNode'][ 'ip']
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service["sid"], "list_nodes", False, {}) if "error" in nodes: return errmsg = "" for what in "proxy", "web", "backend": print what, for proxy in nodes[what]: params = {"serviceNodeId": proxy} details = self.callmanager(service["sid"], "get_node_info", False, params) if "error" in details: errmsg = errmsg + details["error"] + "\n" else: print details["serviceNode"]["ip"], print if errmsg: print "WARNING: %s" % errmsg
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service['sid'], "list_nodes", False, {}) if 'error' in nodes: return errmsg = '' for what in 'proxy', 'web', 'backend': print what, for proxy in nodes[what]: params = { 'serviceNodeId': proxy } details = self.callmanager(service['sid'], "get_node_info", False, params) if 'error' in details: errmsg = errmsg + details['error'] + "\n" else: print details['serviceNode']['ip'], print if errmsg: print 'WARNING: %s' % errmsg
def usage(self, cmdname): BaseClient.usage(self, cmdname) print " set_mode serviceid [ DEMO | REAL ] # select run mode" print " upload_bot serviceid filename xtreemfs_loc # upload bag of tasks and set file location " print " select_schedule serviceid schedule_number # select one of the available schedules "
def usage(self, cmdname): BaseClient.usage(self, cmdname) print " get_helloworld serviceid" print " add_nodes serviceid count [cloud]" print " remove_nodes serviceid count"
#!/usr/bin/env python import sys from cps.base import BaseClient if __name__ == "__main__": BaseClient().main(sys.argv)
def usage(self, cmdname): BaseClient.usage(self, cmdname)
def usage(self, cmdname): BaseClient.usage(self, cmdname) print " set_password serviceid password" print " add_nodes serviceid count [cloud]" print " remove_nodes serviceid count" print " sqldump serviceid"
def usage(self, cmdname): BaseClient.usage(self, cmdname) print " add_nodes serviceid count" print " remove_nodes serviceid count"
def usage(self, cmdname): BaseClient.usage(self, cmdname) print " set_password serviceid password" print " add_nodes serviceid count [cloud]" print " remove_nodes serviceid count"
def create(self, service_type, application_id=None): # TaskFarm's initial state is not INIT but RUNNING BaseClient.create(self, service_type, application_id, initial_state='RUNNING')
def info(self, service_id): service = BaseClient.info(self, service_id) nodes = self.callmanager(service['sid'], "list_nodes", False, {}) print type(nodes) for n in nodes: print n + " : " + str(nodes[n])