예제 #1
0
파일: core.py 프로젝트: xufeng0832/eZAM
    def __create_server_info(self, ignore_errs=False):
        """
        创建服务器信息
        :param ignore_errs: 是否忽略错误
        :return:
        """
        try:
            self.__verify_field(self.clean_data, 'model', str)
            # self.__verify_field(self.clean_data,'test_key',str)
            if not len(self.response['error']
                       ) or ignore_errs == True:  # 没有处理的时候或没有错误发生
                data_set = {
                    'asset_id': self.asset_obj.id,
                    'raid_type': self.clean_data.get('raid_type'),
                    'model': self.clean_data.get('model'),
                    'os_type': self.clean_data.get('os_type'),
                    'os_distribution': self.clean_data.get('os_distribution'),
                    'os_release': self.clean_data.get('os_release'),
                }

                obj = models.Server(**data_set)
                obj.save()
                return obj
        except Exception as e:
            self.response_msg('error', 'ObjectCreationException',
                              'Object [server] %s' % str(e))
예제 #2
0
    def api_meun(self):
        asset = models.Asset()
        server = models.Server()

        bu = [{
            'pk': i.id,
            'name': i.name
        } for i in models.BusinessUnit.objects.all()]
        idcs = [{'pk': i.id, 'name': i.name} for i in models.IDC.objects.all()]
        tags = [{'pk': i.id, 'name': i.name} for i in models.Tag.objects.all()]
        return {
            'asset_type': asset.asset_type_choice,
            'asset_status': asset.asset_status,
            'bu': bu,
            'idc': idcs,
            'tag': tags,
            'server_type': server.sub_asset_type_choice,
        }

        # def update_server_gailan_a(self,request, *args, **kwagrs):
        #     # print(request.POST,args[0])
        #     asset_type_data = request.POST.get('asset_type',None)
        #     business_unit_id = request.POST.get('business_unit',None)
        #     manufacturer_id = request.POST.get('manufacturer',None)
        #     manage_ip = request.POST.get('manage_ip',None)
        #     idc_id = request.POST.get('idc',None)
        #
        #     asset_obj = models.Asset.objects.filter(id=args[0]).first()
        #     asset_obj.asset_type = asset_type_data
        #     asset_obj.business_unit = models.BusinessUnit.objects.get(id=business_unit_id) if business_unit_id else None
        #     asset_obj.manufacturer = models.Manufacturer.objects.get(id=manufacturer_id) if manufacturer_id else None
        #     asset_obj.manage_ip = manage_ip
        #     asset_obj.idc = models.IDC.objects.get(id=idc_id) if idc_id else None
        #     asset_obj.save()
        #
        #
        #     # print (c.values())
        #     return True
        #
        #
        # def update_server_gailan_b(self,request, *args, **kwagrs):
        #     # print ('r:',request.POST,'args:',args[0])
        #     username = request.POST.get('username')
        #     passwd = request.POST.get('passwd',None)
        #     sshport = request.POST.get('sshport',None)
        #     sudo_passwd = request.POST.get('sudo_passwd',None)
        #     keyfile = request.POST.get('keyfile',None)
        #     # print (username,passwd,sudo_passwd)
        #     asset_obj = models.Asset.objects.filter(id=args[0]).first()
        #     server_obj = models.Server.objects.filter(asset=asset_obj).first()
        #     server_obj.username = username
        #     server_obj.passwd = passwd
        #     server_obj.sshport = sshport
        #     server_obj.sudo_passwd = sudo_passwd
        #     server_obj.keyfile = keyfile if keyfile else  None
        #     server_obj.save()
        #     # print (server_obj.sshport)

        return True
예제 #3
0
파일: views.py 프로젝트: alvin-tz/DevOps
def addserver(request):
    if request.method == "POST":
        addserver_form = forms.AddserverForm(request.POST)
        # addserveruser_formset = formset_factory(forms.AddserverUserForm, extra=5,)
        # formset = addserveruser_formset(request.POST, prefix="form")
        message = ""
        if addserver_form.is_valid():  # 获取数据
            os_type = addserver_form.cleaned_data['os_type']
            os_release = addserver_form.cleaned_data['os_release']
            hostname = addserver_form.cleaned_data['hostname']
            alias = addserver_form.cleaned_data['alias']
            extranet_IP = addserver_form.cleaned_data['extranet_IP']
            intranet_IP = addserver_form.cleaned_data['intranet_IP']
            ssh_port = addserver_form.cleaned_data['ssh_port']
            cpu = addserver_form.cleaned_data['cpu']
            ram = addserver_form.cleaned_data['ram']
            disk = addserver_form.cleaned_data['disk']
            network_bandwidth = addserver_form.cleaned_data[
                'network_bandwidth']
            ssh_user_root_password = addserver_form.cleaned_data[
                'ssh_user_root_password']
            ssh_user_other = addserver_form.cleaned_data['ssh_user_other']
            ssh_user_other_password = addserver_form.cleaned_data[
                'ssh_user_other_password']
            system = addserver_form.cleaned_data['system']

            # user = formset.cleaned_data['user']
            # password = formset.cleaned_data['password']

            same_alias = models.Server.objects.filter(alias=alias)
            if same_alias:  #主机别名唯一
                message = "主机别名已经存在,请重新输入!"
                return render(request, 'assets/addserver.html', locals())

            # 当一切都OK的情况下,创建新记录
            new_server = models.Server()
            new_server.os_type = os_type
            new_server.os_release = os_release
            new_server.hostname = hostname
            new_server.alias = alias
            new_server.extranet_IP = extranet_IP
            new_server.intranet_IP = intranet_IP
            new_server.ssh_port = ssh_port
            new_server.cpu = cpu
            new_server.ram = ram
            new_server.disk = disk
            new_server.network_bandwidth = network_bandwidth
            new_server.ssh_user_root_password = ssh_user_root_password
            new_server.ssh_user_other = ssh_user_other
            new_server.ssh_user_other_password = ssh_user_other_password
            new_server.system = system

            new_server.save()

            return redirect('assets:index')
    addserver_form = forms.AddserverForm()
    return render(request, 'assets/addserver.html', locals())
예제 #4
0
 def meun(self):
     asset = models.Asset()
     server = models.Server()
     bu = models.BusinessUnit.objects.all()
     mf = models.Manufacturer.objects.all()
     idc = models.IDC.objects.all()
     tags = models.Tag.objects.all()
     return {
         'asset_type': asset.asset_type_choice,
         'asset_status': asset.asset_status,
         'bu': bu,
         'mf': mf,
         'idc': idc,
         'tag': tags,
         'server_type': server.sub_asset_type_choice,
     }
예제 #5
0
파일: core.py 프로젝트: myAlike/Mark
    def __create_server_info(self, ignore_errs=False):
        try:
            self.__verify_field(self.clean_data, 'model', str)
            if not len(self.response['error']) or ignore_errs == True:  # no processing when there's no error happend
                data_set = {
                    'asset_id': self.asset_obj.id,
                    'raid_type': self.clean_data.get('raid_type'),
                    # 'model':self.clean_data.get('model'),
                    'os_type': self.clean_data.get('os_type'),
                    'os_distribution': self.clean_data.get('os_distribution'),
                    'os_release': self.clean_data.get('os_release'),
                }

                obj = models.Server(**data_set)
                obj.asset.model = self.clean_data.get('model')
                obj.save()
                return obj
        except Exception as e:
            self.response_msg('error', 'ObjectCreationException', 'Object [server] %s' % str(e))
예제 #6
0
파일: core.py 프로젝트: zeus911/Mebius
 def __create_server_info(self, ignore_errs=False):
     try:
         #进行代码监测
         self.__verify_field(self.clean_data, 'model', str)
         if not len(self.response['error']) or ignore_errs == True:
             data_set = {
                 'asset_id': self.asset_obj.id,
                 'raid_type': self.clean_data.get('raid_type'),
                 'model': self.clean_data.get('model'),
                 'kernelrelease': self.clean_data.get('kernelrelease'),
                 'os_type': self.clean_data.get('os_type'),
                 'os_distribution': self.clean_data.get('os_distribution'),
                 'os_release': self.clean_data.get('os_release'),
             }
             print(data_set)
             #插入数据库
             obj = models.Server(**data_set)
             #保存
             obj.save()
             return obj
     except Exception as e:
         self.response_msg('error', '对象创建异常', '对象[server] %s' % str(e))