示例#1
0
    def applyTryPrice(self):
        """[审批试用订单(共享高性能和文件存储)]"""

        time.sleep(5)
        #王楠审批试用
        url1 = self.url + "/portal-test/flow/task/apvList?businessId=" + self.orderId + "&flowIds=1,2,3,8,9,10"
        header = {}
        header['Token'] = casjc_login.login(casjc_config.avpuser1,
                                            casjc_config.avppasswd, 1)[0]
        r1 = requests.get(url1, headers=header)
        print(r1.json())
        taskId = r1.json()['data'][0]['taskId']
        url2 = self.url + "/portal-test/order/approve/apvOrder"
        header['Content-Type'] = "application/json"
        data2 = {}
        data2['opinion'] = "test"
        data2['status'] = 0
        data2['taskId'] = taskId - 1
        r2 = requests.post(url2, headers=header, data=json.dumps(data2))
        #print(r2.json())
        if r2.json()['code'] == 200 and r2.json(
        )['message'] == None and r2.json()['data'] == None:
            casjc_log_task.logging.info(self.applyTryPrice.__doc__ + " 审批账号:" +
                                        casjc_config.avpuser1 + " 审批成功")
        else:
            casjc_log_task.logging.info(self.applyTryPrice.__doc__ + " 审批账号:" +
                                        casjc_config.avpuser1 + " 审批异常")
            return False

        time.sleep(5)
        #戴吉伟审批试用
        url3 = self.url + "/portal-test/flow/task/apvList?businessId=" + self.orderId + "&flowIds=1,2,3,8,9,10"
        header['Token'] = casjc_login.login(casjc_config.avpuser2,
                                            casjc_config.avppasswd, 1)[0]
        r3 = requests.get(url3, headers=header)
        print(r3.json())
        taskId = r3.json()['data'][0]['taskId']
        url4 = self.url + "/portal-test/order/approve/apvOrder"
        data3 = {}
        data3['opinion'] = "test"
        data3['status'] = 0
        data3['taskId'] = taskId + 1
        r4 = requests.post(url4, headers=header, data=json.dumps(data3))
        #print(r4.json())
        if r4.json()['code'] == 200 and r4.json(
        )['message'] == None and r4.json()['data'] == None:
            casjc_log_task.logging.info(self.applyTryPrice.__doc__ + " 审批账号:" +
                                        casjc_config.avpuser2 + " 审批成功")
            return True
        else:
            casjc_log_task.logging.info(self.applyTryPrice.__doc__ + " 审批账号:" +
                                        casjc_config.avpuser2 + " 审批异常")
            return False
示例#2
0
    def applyPrice(self):
        """[审批新购订单价格 (共享高性能和文件存储)]"""

        #王楠价格审批新购订单
        url1 = self.url + "/portal-test/flow/task/apvList?businessId=" + self.orderId + "&flowIds=1,2,3"
        header = {}
        header['Content-Type'] = "application/json"
        header['Token'] = casjc_login.login(casjc_config.avpuser1,
                                            casjc_config.avppasswd, 1)[0]
        r1 = requests.get(url1, headers=header)
        #print(r1.json())
        taskId = r1.json()['data'][0]['taskId']
        url2 = self.url + "/portal-test/order/order/apvOrder"
        header['Content-Type'] = "application/json"
        data2 = {}
        data2['opinion'] = "test"
        data2['status'] = 0
        data2['taskId'] = taskId - 1
        r2 = requests.post(url2, headers=header, data=json.dumps(data2))
        #print(r2.json())
        if r2.json()['code'] == 200 and r2.json(
        )['message'] == None and r2.json()['data'] == None:
            casjc_log_task.logging.info(self.applyPrice.__doc__ + " 审批账号:" +
                                        casjc_config.avpuser1 + " 审批成功")
            return True
        else:
            casjc_log_task.logging.info(self.applyPrice.__doc__ + " 审批账号:" +
                                        casjc_config.avpuser1 + " 审批异常")
            return False
示例#3
0
 def __init__(self, account="gktest", userId=20650, entId=10066):
     self.header = {}
     self.url = casjc_config.global_url
     #申请,生成合同,确认参数销售经理账号
     self.saleraccount = "lihaifeng"
     self.header['Content-Type'] = "application/json"
     self.saleser = casjc_login.login(self.saleraccount, "Casjc@123", 1)
     self.header['Token'] = self.saleser[0]
     self.salesuserid = self.saleser[1]
     #全局订单Id
     self.orderId = ""
     self.tryOrderId = ""
     #企业用户信息
     self.account = account
     self.userId = userId
     self.entId = entId
     #申请配置资源值
     self.pname = "斗罗大陆9层魂环理论" + str(random.randint(1, 1000))
     self.phone = "18210462798"
     self.email = "*****@*****.**"
     self.tmpnumber = 1
     self.corenumber = 2
     self.totalprice = 1000.24
     self.jobday = 1
     self.storeday = 10
示例#4
0
 def __init__(self, account="gktest", userId=20650, entId=10066):
     self.header = {}
     self.url = casjc_config.global_url
     #申请,生成合同,确认参数销售经理账号
     #self.saleraccount = "lihaifeng"
     self.saleraccount = "baishi"
     self.header['Content-Type'] = "application/json"
     self.saleser = casjc_login.login(self.saleraccount, "Casjc@123", 1)
     self.header['Token'] = self.saleser[0]
     self.salesuserid = self.saleser[1]
     #全局订单Id
     self.orderId = ""
     self.tryOrderId = ""
     #企业用户信息
     self.account = account
     self.userId = userId
     self.entId = entId
     self.entName = "国科北京分部"
     #申请配置资源值
     self.pname = "斗罗大陆9层魂环理论" + str(random.randint(1, 1000))
     self.phone = "18210462798"
     self.email = "*****@*****.**"
     self.tmpnumber = 1
     self.corenumber = 2
     self.tprice = 5.12
     self.jobday = 1
     self.storeday = 10
     self.preDeploy = 0  #是否提前配置 0否1是
     self.deployWay = 0  #资源配置方式,0固定参数1灵活配置
     self.payWay = 0  #付费方式 0预付费1后付费
示例#5
0
def submitJob():

    title = "[已有资源用户,提交作业_" + str(random.randint(1000, 9999)) + "] "
    global res
    userinfo = casjc_login.login(casjc_config.username, casjc_config.passwd, 0)
    url = "ws://10.8.14.194:11014/webshell?uid=" + str(
        userinfo[1]
    ) + "&id=42&queueName=" + casjc_config.queuename + "&token=" + userinfo[
        0] + "&cols=132&rows=15&width=1870&height=510"
    jobname = str(time.strftime('%d%H%M', time.localtime()))
    try:
        ws = create_connection(url, timeout=60)
        print(ws.recv())
        sjob1 = 'nohup srun -p low -J casjc-' + jobname + ' sleep 180&\n'
        casjc_log_task.logging.info('执行slurm命令:' + sjob1)
        ws.send(sjob1)
        print(ws.recv())
        print(json.loads(ws.recv())['data'])
        ws.send('\n')
        print(ws.recv())
        time.sleep(5)
        sjob2 = 'squeue\n'
        casjc_log_task.logging.info('执行slurm命令:' + sjob2)
        ws.send(sjob2)
        print(ws.recv())
        squeue = ws.recv()
        print(squeue)
        res[title + sjob1] = [casjc_config.username, squeue]
        return True
    except Exception as e:
        print('error', e)
        return False
示例#6
0
def entRenewSubmitJob():
    """[新普通用户初次配置资源后进行续期,提交作业]"""
    title = "[新普通用户初次配置资源后进行续期,提交作业]"

    global res
    #新增企业用户
    newuser = casjc_user.auser()
    tmpuser = newuser.addControlUser()
    #申请审批配置资源并续期
    rescoure = casjc_resource.resource(tmpuser[0], tmpuser[1], tmpuser[2])
    rescoure.testRenew()
    #新增企业普通用户
    newuser2 = casjc_user.cuser(tmpuser[0])
    luser = newuser2.addQueueStoreUser()
    #登录企业普通用户
    userinfo = casjc_login.login(luser, casjc_config.cpasswd, 0)
    #等待610秒,等高性能配置生效
    time.sleep(610)
    url = "ws://10.8.14.181:11014/webshell?uid=" + str(
        userinfo[1]
    ) + "&id=42&queueName=" + casjc_config.queuename + "&token=" + userinfo[
        0] + "&cols=132&rows=15&width=1870&height=510"
    casjc_log_task.logging.info(newSubmitJob.__doc__ + " 登录webshell: " + url)
    jobname = str(time.strftime('%d%H%M', time.localtime()))
    try:
        ws = create_connection(url, timeout=60)
        print(ws.recv())
        sjob1 = 'nohup srun -p low -J casjc-' + jobname + ' sleep 180&\n'
        casjc_log_task.logging.info(newSubmitJob.__doc__ + '执行slurm命令:' +
                                    sjob1)
        print(ws.recv())
        print(json.loads(ws.recv())['data'])
        print(ws.recv())
        print(ws.recv())
        print(ws.recv())
        ws.send(sjob1)
        ws.send('\n')
        time.sleep(1)
        print(ws.recv())
        print(ws.recv())
        sjob2 = 'squeue\n'
        casjc_log_task.logging.info(newSubmitJob.__doc__ + '执行slurm命令:' +
                                    sjob2)
        ws.send(sjob2)
        print(ws.recv())
        time.sleep(2)
        squeue = ws.recv()
        print(squeue)
        res[title + sjob1] = [luser[0], squeue]
        return True
    except Exception as e:
        print('error', e)
        res[title] = [luser[0], "webServer timeout"]
        return False
示例#7
0
    def confirmAll(self, mytype="All"):
        """[配置新购资源,全部配置]"""

        title = "[配置新购资源,全部配置]"
        if mytype != "All":
            self.tmpnumber = 2
            self.corenumber = 1
            title = "[配置新购资源,部分配置]"

        #戴吉伟配置资源,获取必要参数
        url10 = self.url + "/portal-test/order/order/getOrder?times=1610011814514&orderId=" + self.orderId
        header = {}
        header['Content-Type'] = "application/json"
        header['Token'] = casjc_login.login(casjc_config.avpuser2,
                                            casjc_config.avppasswd, 1)[0]
        r10 = requests.get(url10, headers=header)
        #print(r10.json())
        resInitId_file = r10.json()['data']['resInitVOList'][1]['resInitId']
        orderResId_file = r10.json()['data']['resVOList'][1]['orderResId']
        resInitId_job = r10.json()['data']['resInitVOList'][0]['resInitId']
        orderResId_job = r10.json()['data']['resVOList'][0]['orderResId']
        uptime = r10.json()['data']['resVOList'][0]['updateTime']

        #配置高性能计算
        url11 = self.url + "/portal-test/order/deploy/deployOrderRes"
        data = {}
        data["colonyId"] = 42
        data["defMemPerCpu"] = ""
        data["deployStatus"] = ""
        data["deployWay"] = 1
        data["endTime"] = time.strftime("20%y-%m-%d", time.localtime())
        data["entId"] = self.entId
        data["nodeList"] = ['low']
        data["number"] = self.corenumber
        data["orderId"] = self.orderId
        data["orderResId"] = orderResId_job
        data["path"] = "/public1/home/" + self.account + "/" + self.account
        data["price"] = 0.12 * self.corenumber
        data["queueName"] = ""
        data["queueType"] = 0
        data["resInitId"] = resInitId_job
        data["resProdSrvId"] = 1
        data["resTypeId"] = 2
        data["startTime"] = time.strftime("20%y-%m-%d", time.localtime())
        data["updateTime"] = uptime
        ldata = []
        ldata.append(data)
        r11 = requests.post(url11, headers=header, data=json.dumps(ldata))
        #print(r11.json())
        if r11.json()['code'] == 200 and r11.json(
        )['message'] == None and r11.json()['data'] == None:
            casjc_log_task.logging.info(title + " 高性能资源配置完成, 配置人:" +
                                        casjc_config.avpuser2)
        else:
            casjc_log_task.logging.info(title + " 高性能资源配置异常, 配置人:" +
                                        casjc_config.avpuser2)
            return False

        #配置文件存储
        data = {}
        data["colonyId"] = 43
        data["defMemPerCpu"] = ""
        data["deployStatus"] = ""
        data["deployWay"] = 1
        data["endTime"] = time.strftime("20%y-%m-%d", time.localtime())
        data["entId"] = self.entId
        data["nodeList"] = ['']
        data["number"] = self.storeday / self.tmpnumber
        data["orderId"] = self.orderId
        data["orderResId"] = orderResId_file
        data["path"] = "/public1/home/" + self.account + "/" + self.account
        data["price"] = 1000 / self.tmpnumber
        data["queueName"] = ""
        data["queueType"] = 0
        data["resInitId"] = resInitId_file
        data["resProdSrvId"] = 3
        data["resTypeId"] = 4
        data["startTime"] = time.strftime("20%y-%m-%d", time.localtime())
        data["updateTime"] = uptime
        ldata = []
        ldata.append(data)
        r12 = requests.post(url11, headers=header, data=json.dumps(ldata))
        #print(r12.json())
        if r12.json()['code'] == 200 and r12.json(
        )['message'] == None and r12.json()['data'] == None:
            casjc_log_task.logging.info(title + " 文件存储资源配置完成, 配置人:" +
                                        casjc_config.avpuser2)
            return True
        else:
            casjc_log_task.logging.info(title + " 文件存储资源配置异常, 配置人:" +
                                        casjc_config.avpuser2)
            return False
示例#8
0
    def exaContract(self):
        """[审批新购订单合同]"""

        #合同审批 王楠
        url3 = self.url + "/portal-test/flow/task/apvList?businessId=" + self.orderId + "&flowIds=1,2,3"
        header = {}
        header['Content-Type'] = "application/json"
        header['Token'] = casjc_login.login(casjc_config.conuser1,
                                            casjc_config.avppasswd, 1)[0]
        r3 = requests.get(url3, headers=header)
        #print(r3.json())
        taskId = r3.json()['data'][-1]['taskId']
        url4 = self.url + "/portal-test/order/order/apvOrder"
        data3 = {}
        data3['opinion'] = "test"
        data3['status'] = 0
        data3['taskId'] = taskId - 1
        r4 = requests.post(url4, headers=header, data=json.dumps(data3))
        #print(r4.json())
        if r4.json()['code'] == 200 and r4.json(
        )['message'] == None and r4.json()['data'] == None:
            casjc_log_task.logging.info(self.exaContract.__doc__ + " 审批账号:" +
                                        casjc_config.conuser1 + " 审批成功")
        else:
            casjc_log_task.logging.info(self.exaContract.__doc__ + " 审批账号:" +
                                        casjc_config.conuser1 + " 审批异常")
            return False

        #合同审批 孔水水
        url5 = self.url + "/portal-test/flow/task/apvList?businessId=" + self.orderId + "&flowIds=1,2,3"
        header['Token'] = casjc_login.login(casjc_config.conuser2,
                                            casjc_config.avppasswd, 1)[0]
        r5 = requests.get(url5, headers=header)
        #print(r5.json())
        taskId = r5.json()['data'][2]['taskId']
        url6 = self.url + "/portal-test/order/order/apvOrder"
        data3 = {}
        data3['opinion'] = "test"
        data3['status'] = 0
        data3['taskId'] = taskId + 1
        r6 = requests.post(url6, headers=header, data=json.dumps(data3))
        #print(r6.json())
        if r6.json()['code'] == 200 and r6.json(
        )['message'] == None and r6.json()['data'] == None:
            casjc_log_task.logging.info(self.exaContract.__doc__ + " 审批账号:" +
                                        casjc_config.conuser2 + " 审批成功")
        else:
            casjc_log_task.logging.info(self.exaContract.__doc__ + " 审批账号:" +
                                        casjc_config.conuser2 + " 审批异常")
            return False

        #合同审批 刘凯敏
        url7 = self.url + "/portal-test/flow/task/apvList?businessId=" + self.orderId + "&flowIds=1,2,3"
        header['Token'] = casjc_login.login(casjc_config.conuser3,
                                            casjc_config.avppasswd, 1)[0]
        r7 = requests.get(url7, headers=header)
        #print(r7.json())
        taskId = r7.json()['data'][-1]['taskId']
        url8 = self.url + "/portal-test/order/order/apvOrder"
        data3 = {}
        data3['opinion'] = "test"
        data3['status'] = 0
        data3['taskId'] = taskId + 1
        r8 = requests.post(url8, headers=header, data=json.dumps(data3))
        #print(r8.json())
        if r8.json()['code'] == 200 and r8.json(
        )['message'] == None and r8.json()['data'] == None:
            casjc_log_task.logging.info(self.exaContract.__doc__ + " 审批账号:" +
                                        casjc_config.conuser3 + " 审批成功")
            return True
        else:
            casjc_log_task.logging.info(self.exaContract.__doc__ + " 审批账号:" +
                                        casjc_config.conuser3 + " 审批异常")
            return False
示例#9
0
    def confirmOrder(self):
        """[配置试用订单(共享高性能和文件存储)]"""

        #戴吉伟配置资源,获取必要参数
        url5 = self.url + "/portal-test/order/order/getOrder?times=1610011814514&orderId=" + self.tryOrderId
        header = {}
        header['Content-Type'] = "application/json"
        header['Token'] = casjc_login.login(casjc_config.avpuser2,
                                            casjc_config.avppasswd, 1)[0]
        r5 = requests.get(url5, headers=header)
        #print(r5.json())
        resInitId_file = r5.json()['data']['resInitVOList'][1]['resInitId']
        orderResId_file = r5.json()['data']['resVOList'][1]['orderResId']
        resInitId_job = r5.json()['data']['resInitVOList'][0]['resInitId']
        orderResId_job = r5.json()['data']['resVOList'][0]['orderResId']
        uptime = r5.json()['data']['resVOList'][0]['updateTime']

        #配置高性能计算
        url6 = self.url + "/portal-test/order/deploy/deployOrderRes"
        data = {}
        data["colonyId"] = 42
        data["defMemPerCpu"] = ""
        data["deployStatus"] = 3
        data["deployWay"] = 0
        data["endTime"] = time.strftime("20%y-%m-%d", time.localtime())
        data["entId"] = self.entId
        data["nodeList"] = ['low']
        data["number"] = 1
        data["orderId"] = self.tryOrderId
        data["orderResId"] = orderResId_job
        data["path"] = ""
        data["price"] = 0
        data["queueName"] = ""
        data["queueType"] = 0
        data["resInitId"] = resInitId_job
        data["resProdSrvId"] = 1
        data["resTypeId"] = 2
        data["startTime"] = time.strftime("20%y-%m-%d", time.localtime())
        data["updateTime"] = uptime
        ldata = []
        ldata.append(data)
        r6 = requests.post(url6, headers=header, data=json.dumps(ldata))
        #print(r6.json())
        if r6.json()['code'] == 200 and r6.json(
        )['message'] == None and r6.json()['data'] == None:
            casjc_log_task.logging.info(self.confirmOrder.__doc__ +
                                        " 高性能资源配置完成, 配置人:" +
                                        casjc_config.avpuser2)
        else:
            casjc_log_task.logging.info(self.confirmOrder.__doc__ +
                                        " 高性能资源配置异常, 配置人:" +
                                        casjc_config.avpuser2)
            return False

        #配置文件存储
        data = {}
        data["colonyId"] = 43
        data["defMemPerCpu"] = ""
        data["deployStatus"] = 3
        data["deployWay"] = 0
        data["endTime"] = time.strftime("20%y-%m-%d", time.localtime())
        data["entId"] = self.entId
        data["nodeList"] = ['']
        data["number"] = 1
        data["orderId"] = self.tryOrderId
        data["orderResId"] = orderResId_file
        data["path"] = "/public1/home/" + self.account + "/" + self.account
        data["price"] = 0
        data["queueName"] = ""
        data["queueType"] = 0
        data["resInitId"] = resInitId_file
        data["resProdSrvId"] = 3
        data["resTypeId"] = 4
        data["startTime"] = time.strftime("20%y-%m-%d", time.localtime())
        data["updateTime"] = uptime
        ldata = []
        ldata.append(data)
        r7 = requests.post(url6, headers=header, data=json.dumps(ldata))
        #print(r7.json())
        if r7.json()['code'] == 200 and r7.json(
        )['message'] == None and r7.json()['data'] == None:
            casjc_log_task.logging.info(self.confirmOrder.__doc__ +
                                        " 文件存储资源配置完成, 配置人:" +
                                        casjc_config.avpuser2)
            return True
        else:
            casjc_log_task.logging.info(self.confirmOrder.__doc__ +
                                        " 文件存储资源配置异常, 配置人:" +
                                        casjc_config.avpuser2)
            return False
示例#10
0
    def confirmOrder(self):
        """[配置试用订单(共享高性能和文件存储)]"""

        time.sleep(5)
        #戴吉伟配置资源,获取必要参数
        url5 = self.url + "/portal-test/order/order/getOrder?times=1610011814514&orderId=" + self.tryOrderId
        header = {}
        header['Content-Type'] = "application/json"
        header['Token'] = casjc_login.login(casjc_config.avpuser2,
                                            casjc_config.avppasswd, 1)[0]
        r5 = requests.get(url5, headers=header)
        #print(r5.json())
        #resInitId_file = r5.json()['data']['resInitVOList'][1]['resInitId']
        #orderResId_file = r5.json()['data']['resVOList'][1]['orderResId']
        resInitId_job = r5.json()['data']['resInitVOList'][0]['resInitId']
        orderResId_job = r5.json()['data']['resVOList'][0]['orderResId']
        uptime = r5.json()['data']['resVOList'][0]['updateTime']

        #配置高性能计算
        url6 = self.url + "/portal-test/order/deploy/deployOrderRes"
        data = {}
        data["colonyId"] = 43
        data["defMemPerCpu"] = ""
        data["deployStatus"] = 3
        data["deployWay"] = 0
        data["endTime"] = time.strftime("20%y-%m-%d", time.localtime())
        data["entId"] = self.entId
        data["nodeList"] = []
        data["number"] = 0
        data["orderId"] = self.tryOrderId
        data["orderResId"] = orderResId_job
        data["queueName"] = ""
        data["queueType"] = 0
        data['qosName'] = "normal"
        data["resInitId"] = resInitId_job
        data["resProdSrvId"] = 1
        data["startTime"] = time.strftime("20%y-%m-%d", time.localtime())
        data["updateTime"] = uptime
        data['resBandowidthList'] = [{
            "networkName": "",
            "bandwidth": 1,
            "gateway": "",
            "publicIp": "",
            "subnetMask": ""
        }]
        data['resPrivateNetworkList'] = [{
            "networkName": "",
            "bandwidth": 1,
            "gateway": "",
            "networkSegment": "",
            "subnetMask": ""
        }]
        data['resVpnList'] = []
        data['resProdSrvId'] = 1
        data['resTypeId'] = 4
        data['discountUnitPrice'] = 5
        data['unitPrice'] = 5
        data['originalPrice'] = 5
        data['price'] = 5
        data['Path'] = "/public1/home/" + self.account + "/" + self.account
        ldata = []
        ldata.append(data)
        r6 = requests.post(url6, headers=header, data=json.dumps(ldata))
        print(r6.json())
        if r6.json()['code'] == 200 and r6.json(
        )['message'] == None and r6.json()['data'] == None:
            casjc_log_task.logging.info(self.confirmOrder.__doc__ +
                                        " 高性能资源配置完成, 配置人:" +
                                        casjc_config.avpuser2)
        else:
            casjc_log_task.logging.info(self.confirmOrder.__doc__ +
                                        " 高性能资源配置异常, 配置人:" +
                                        casjc_config.avpuser2)
            return False