Esempio n. 1
0
 def handle(self, request, data):
     try:
         if not os.path.exists(enum.EMAIL_CFG_FILE):
             os.mknod(enum.EMAIL_CFG_FILE)
         cfgparser = ConfigParser.ConfigParser()
         cfgparser.read(enum.EMAIL_CFG_FILE)
         if cfg_tool.getOption(cfgparser, 'receiver', 'receiver'):
             receiver = json.loads(
                 cfg_tool.getOption(cfgparser, 'receiver', 'receiver'))
         else:
             receiver = []
         new_addr = str(data.get('address'))
         receiver.append(new_addr)
         cfg_tool.setOption(cfgparser, 'receiver', 'receiver',
                            json.dumps(receiver))
         cfgparser.write(open(enum.EMAIL_CFG_FILE, 'w'))
         operate_log(
             request.user.username, request.user.roles,
             "add mail-receiver \"" + data.get('address') + "\" success")
         return True
     except Exception as e:
         operate_log(
             request.user.username, request.user.roles,
             "add mail-receiver \"" + data.get('address') + "\" error")
         return False
Esempio n. 2
0
 def action(self, request, obj_id):
     """apply revoke"""
     apply = applydisk.objects.filter(id=obj_id)
     apply.update(status='2')
     operate_log(request.user.username,
                 request.user.roles,
                 apply[0].name+" disk check reject")
Esempio n. 3
0
 def delete(self, request, obj_id):
     api.keystone.tenant_delete(request, obj_id)
     for row in self.table.data:
         if row.id == obj_id:
             name = row.name
     operate_log(request.user.username, request.user.roles,
                 name + " tenant delete")
Esempio n. 4
0
 def action(self, request, obj_id):
     if obj_id == request.user.id:
         messages.info(
             request,
             _('You cannot disable the user you are '
               'currently logged in as.'))
         return
     if self.enabled:
         api.keystone.user_update_enabled(request, obj_id, False)
         self.current_past_action = DISABLE
         name = '-'
         for row in self.table.data:
             if row.id == obj_id:
                 name = row.name
                 break
         operate_log(request.user.username, request.user.roles,
                     name + " user disable ")
     else:
         api.keystone.user_update_enabled(request, obj_id, True)
         self.current_past_action = ENABLE
         name = '-'
         for row in self.table.data:
             if row.id == obj_id:
                 name = row.name
                 break
         operate_log(request.user.username, request.user.roles,
                     name + " user enable ")
Esempio n. 5
0
 def _create_network(self, request, data):
     try:
         params = {
             'name': data['net_name'],
             'admin_state_up': (data['admin_state'] == 'True')
         }
         if api.neutron.is_port_profiles_supported():
             params['net_profile_id'] = data['net_profile_id']
         network = api.neutron.network_create(request, **params)
         network.set_id_as_name_if_empty()
         self.context['net_id'] = network.id
         msg = _('Network "%s" was successfully created.') % network.name
         operate_log(request.user.username, request.user.roles,
                     params["name"] + " create network")
         LOG.debug(msg)
         return network
     except Exception as e:
         msg = (_('Failed to create network "%(network)s": %(reason)s') % {
             "network": data['net_name'],
             "reason": e
         })
         LOG.info(msg)
         redirect = self.get_failure_url()
         exceptions.handle(request, msg, redirect=redirect)
         return False
Esempio n. 6
0
    def handle(self, request, data):
        try:
            if not os.path.exists(enum.EMAIL_CFG_FILE):
                os.mknod(enum.EMAIL_CFG_FILE, 0777)
            cfgparser = ConfigParser.ConfigParser()
            cfgparser.read(enum.EMAIL_CFG_FILE)

            cfg_tool.setOption(cfgparser, 'server', 'ipaddress',
                               data.get('server_address'))
            cfg_tool.setOption(cfgparser, 'server', 'port',
                               data.get('server_port'))
            cfg_tool.setOption(cfgparser, 'sender', 'address',
                               data.get('sender_address'))
            cfg_tool.setOption(cfgparser, 'sender', 'user',
                               data.get('sender_username'))
            if data.get('sender_password'):
                cfg_tool.setOption(
                    cfgparser, 'sender', 'password',
                    base64.b64encode(data.get('sender_password')))

            cfgparser.write(open(enum.EMAIL_CFG_FILE, 'w'))
            operate_log(request.user.username, request.user.roles,
                        "alter alarm-mail settings success")
            return True
        except Exception as e:
            operate_log(request.user.username, request.user.roles,
                        "alter alarm-mail settings error")
            return False
Esempio n. 7
0
    def handle(self, request, context):
        try:
            self.object = \
                api.nova.aggregate_create(
                    request,
                    name=context['name'],
                    availability_zone=context['availability_zone'])

            operate_log(request.user.username,
                        request.user.roles,
                        context["name"] + "aggragate create")
        except Exception:
            exceptions.handle(request, _('Unable to create host aggregate.'))
            return False

        context_hosts_aggregate = context['hosts_aggregate']
        for host in context_hosts_aggregate:
            try:
                api.nova.add_host_to_aggregate(request, self.object.id, host)
            except Exception:
                exceptions.handle(
                    request, _('Error adding Hosts to the aggregate.'))
                return False

        return True
Esempio n. 8
0
 def action(self, request, obj_id):
     """
     apply revoke
     """
     apply_instances = apply.objects.filter(id=obj_id)
     apply_instances.update(status='2')
     operate_log(request.user.username, request.user.roles,
                 apply_instances[0].name + " instances check reject")
Esempio n. 9
0
 def delete(self, request, obj_id):
     api.network.security_group_delete(request, obj_id)
     name = "-"
     for row in self.table.data:
         if row.id == obj_id:
             name = row.name
     operate_log(request.user.username, request.user.roles,
                 name + " security_groups delete")
Esempio n. 10
0
 def delete(self, request, obj_id):
     api.glance.image_delete(request, obj_id)
     name = '-'
     for row in self.table.data:
         if row.id == obj_id:
             name = row.name
     operate_log(request.user.username, request.user.roles,
                 name + " image delete")
Esempio n. 11
0
 def delete(self, request, obj_id):
     """
     apply delete
     """
     apply_instances = apply.objects.filter(id=obj_id)
     apply_instances.update(status='5')
     operate_log(request.user.username, request.user.roles,
                 apply_instances[0].name + " instances drop")
Esempio n. 12
0
 def handle(self, request, data):
     try:
         api.nova.server_update(request, data['instance_id'], data['name'])
         operate_log(request.user.username, request.user.roles,
                     data["name"] + " instance update")
     except Exception:
         exceptions.handle(request, ignore=True)
         return False
     return True
Esempio n. 13
0
 def delete(self, request, obj_id):
     # username = api.keystone.user_get(request, obj_id)
     api.keystone.user_delete(request, obj_id)
     name = '-'
     for row in self.table.data:
         if row.id == obj_id:
             name = row.name
             break
     operate_log(request.user.username, request.user.roles,
                 name + " user delete ")
Esempio n. 14
0
 def handle(self, request, data):
     try:
         api.network.floating_ip_associate(request, data['ip_id'],
                                           data['instance_id'])
         operate_log(request.user.username, request.user.roles,
                     "floating ip associate")
     except Exception:
         exceptions.handle(request)
         return False
     return True
Esempio n. 15
0
 def action(self, request, obj_id):
     try:
         api.nova.server_delete(request, obj_id)
         name = '-'
         for row in self.table.data:
             if row.id == obj_id:
                 name = row.name
         operate_log(request.user.username,
                     request.user.roles,
                     name + " instance delete")
     except Exception:
         exceptions.handle(request, _("Unable to delete instance."))
Esempio n. 16
0
 def action(self, request, obj_id):
     try:
         api.nova.server_start(request, obj_id)
         name = '-'
         for row in self.table.data:
             if row.id == obj_id:
                 name = row.name
         operate_log(request.user.username,
                     request.user.roles,
                     name + " instance start")
     except Exception as e:
         LOG.error('Error to StartInstance: %s' % str(e))
Esempio n. 17
0
 def action(self, request, obj_id):
     try:
         treatedalarm_model = treatedalarm(event_id=obj_id)
         treatedalarm_model.save()
         operate_log(request.user.username,
                         request.user.roles,
                         "alarm-event \""+obj_id+"\" treat success")
     except Exception as e:
         operate_log(request.user.username,
                         request.user.roles,
                         "alarm-event \""+obj_id+"\" treat error")
         exceptions.handle(request,
                           _('Unable to enable the policy.'))
Esempio n. 18
0
 def handle(self, request, context):
     instance_id = context.get('instance_id', None)
     flavor = context.get('flavor', None)
     disk_config = context.get('disk_config', None)
     try:
         api.nova.server_resize(request, instance_id, flavor, disk_config)
         operate_log(request.user.username,
                     request.user.roles,
                     context["name"]+" instance resize")
         return True
     except Exception:
         exceptions.handle(request)
         return False
Esempio n. 19
0
    def handle(self, request, data):
        # Glance does not really do anything with container_format at the
        # moment. It requires it is set to the same disk_format for the three
        # Amazon image types, otherwise it just treats them as 'bare.' As such
        # we will just set that to be that here instead of bothering the user
        # with asking them for information we can already determine.
        if data['disk_format'] in (
                'ami',
                'aki',
                'ari',
        ):
            container_format = data['disk_format']
        else:
            container_format = 'bare'

        meta = {
            'is_public': data['is_public'],
            'protected': data['protected'],
            'disk_format': data['disk_format'],
            'container_format': container_format,
            'min_disk': (data['minimum_disk'] or 0),
            'min_ram': (data['minimum_ram'] or 0),
            'name': data['name'],
            'properties': {}
        }

        if data['description']:
            meta['properties']['description'] = data['description']
        if data['architecture']:
            meta['properties']['architecture'] = data['architecture']
        if (settings.HORIZON_IMAGES_ALLOW_UPLOAD and policy.check(
            (("image", "upload_image"), ), request)
                and data.get('image_file', None)):
            meta['data'] = self.files['image_file']
        else:
            meta['copy_from'] = data['copy_from']

        try:
            image = api.glance.image_create(request, **meta)
            operate_log(request.user.username, request.user.roles,
                        meta["name"] + " image create")
            messages.success(
                request,
                _('Your image %s has been queued for creation.') %
                data['name'])

            return image
        except Exception:
            exceptions.handle(request, _('Unable to create new image.'))
Esempio n. 20
0
 def handle(self, request, data):
     try:
         sg = api.network.security_group_create(request, data['name'],
                                                data['description'])
         operate_log(request.user.username, request.user.roles,
                     data["name"] + " srcurity group create")
         messages.success(
             request,
             _('Successfully created security group: %s') % data['name'])
         return sg
     except Exception:
         redirect = reverse("horizon:project:access_and_security:index")
         exceptions.handle(request,
                           _('Unable to create security group.'),
                           redirect=redirect)
Esempio n. 21
0
 def action(self, request, obj_id):
     try:
         cfgparser = ConfigParser.ConfigParser()
         cfgparser.read(enum.EMAIL_CFG_FILE)
         receiver = cfg_tool.getOption(cfgparser, 'receiver', 'receiver')
         if receiver:
             arr = json.loads(receiver)
             arr.remove(obj_id)
         cfg_tool.setOption(cfgparser, 'receiver', 'receiver',
                            json.dumps(arr))
         cfgparser.write(open(enum.EMAIL_CFG_FILE, 'w'))
         operate_log(request.user.username, request.user.roles,
                     "delete mail-receiver \"" + obj_id + "\" success")
     except Exception as e:
         operate_log(request.user.username, request.user.roles,
                     "delete mail-receiver \"" + obj_id + "\" error")
Esempio n. 22
0
 def handle(self, request, data):
     id = self.initial['id']
     name = data['name']
     availability_zone = data['availability_zone']
     aggregate = {'name': name}
     if availability_zone:
         aggregate['availability_zone'] = availability_zone
     try:
         api.nova.aggregate_update(request, id, aggregate)
         operate_log(request.user.username, request.user.roles,
                     data["name"] + "aggregate update")
         message = _('Successfully updated aggregate: "%s."') \
                   % data['name']
         messages.success(request, message)
     except Exception:
         exceptions.handle(request, _('Unable to update the aggregate.'))
     return True
Esempio n. 23
0
    def handle(self, request, data):
        # Update the default quotas.
        # `fixed_ips` update for quota class is not supported by novaclient
        nova_data = dict([(key, data[key]) for key in ALL_NOVA_QUOTA_FIELDS
                          if key != 'fixed_ips'])
        try:
            nova.default_quota_update(request, **nova_data)

            if base.is_service_enabled(request, 'volume'):
                cinder_data = dict([(key, data[key])
                                    for key in quotas.CINDER_QUOTA_FIELDS])
                cinder.default_quota_update(request, **cinder_data)
            operate_log(request.user.username, request.user.roles,
                        "defaults update")
        except Exception:
            exceptions.handle(request, _('Unable to update default quotas.'))
        return True
Esempio n. 24
0
 def action(self, request, obj_id):
     try:
         alarmpolicy_data = alarmpolicy.objects.get(id=obj_id)
         policys_id = getattr(alarmpolicy_data, 'policys_id', '')
         if policys_id:
             policys_arr = policys_id.split(',')
             for p_id in policys_arr:
                 api.ceilometer.delete_alarm(request, p_id)
         alarmpolicy_data.delete()
         operate_log(
             request.user.username, request.user.roles,
             "\"" + getattr(alarmpolicy_data, 'name', '') +
             "\" alarm-policy delete success")
     except Exception as e:
         operate_log(
             request.user.username, request.user.roles,
             "\"" + getattr(alarmpolicy_data, 'name', '') +
             "\" alarm-policy delete error")
Esempio n. 25
0
 def delete(self, request, obj_id):
     obj = self.table.get_object_by_id(obj_id)
     name = self.table.get_object_display(obj)
     try:
         api.neutron.router_delete(request, obj_id)
         operate_log(request.user.username,
                     request.user.roles,
                     name + " router delete")
     except q_ext.NeutronClientException as e:
         msg = _('Unable to delete router "%s"') % e
         LOG.info(msg)
         messages.error(request, msg)
         redirect = reverse(self.redirect_url)
         raise exceptions.Http302(redirect, message=msg)
     except Exception:
         msg = _('Unable to delete router "%s"') % name
         LOG.info(msg)
         exceptions.handle(request, msg)
Esempio n. 26
0
 def handle(self, request, data):
     try:
         requestapi = RequestApi()
         data['uuid'] = data.get('id')
         res = requestapi.deleteRequestInfo('api/heterogeneous/platforms/' + data.get('id'),data)
         if res and type(res) == type({}):
             if res.get('action') == 'success':
                 operate_log(request.user.username,
                             request.user.roles,
                             str(data.get("name")) + "synchronize date")
                 return True
             elif res.get('action') == 'failed' and res.get('is_auto') == True:
                 err_msg = 'The plat is syncing, you can not delete it.'
                 messages.error(request,_(err_msg))
                 return False
     except Exception as e:
         exceptions.handle(request,
                           _('Unable to synchronize the control center.'))
     return False
Esempio n. 27
0
 def handle(self, request, data):
     try:
         params = {
             'admin_state_up': (data['admin_state'] == 'True'),
             'name': data['name']
         }
         network = api.neutron.network_update(request, data['network_id'],
                                              **params)
         operate_log(request.user.username, request.user.roles,
                     data["name"] + " network updated")
         msg = _('Network %s was successfully updated.') % data['name']
         LOG.debug(msg)
         messages.success(request, msg)
         return network
     except Exception:
         msg = _('Failed to update network %s') % data['name']
         LOG.info(msg)
         redirect = reverse(self.failure_url)
         exceptions.handle(request, msg, redirect=redirect)
Esempio n. 28
0
 def handle(self, request, data):
     try:
         snapshot = api.nova.snapshot_create(request, data['instance_id'],
                                             data['name'])
         # NOTE(gabriel): This API call is only to display a pretty name.
         instance = api.nova.server_get(request, data['instance_id'])
         vals = {"name": data['name'], "inst": instance.name}
         operate_log(request.user.username, request.user.roles,
                     data["name"] + " snapshot create")
         messages.success(
             request,
             _('Snapshot "%(name)s" created for '
               'instance "%(inst)s"') % vals)
         return snapshot
     except Exception:
         redirect = reverse("horizon:project:instances:index")
         exceptions.handle(request,
                           _('Unable to create snapshot.'),
                           redirect=redirect)
Esempio n. 29
0
 def handle(self, request, data):
     try:
         rule = api.network.security_group_rule_create(
             request, filters.get_int_or_uuid(data['id']),
             data['direction'], data['ethertype'], data['ip_protocol'],
             data['from_port'], data['to_port'], data['cidr'],
             data['security_group'])
         messages.success(request,
                          _('Successfully added rule: %s') % unicode(rule))
         operate_log(request.user.username, request.user.roles,
                     "srcurity group rule create")
         return rule
     except Exception:
         redirect = reverse(
             "horizon:project:access_and_security:"
             "security_groups:detail",
             args=[data['id']])
         exceptions.handle(request,
                           _('Unable to add rule to security group.'),
                           redirect=redirect)
Esempio n. 30
0
 def action(self, request, obj_id):
     try:
         api.nova.server_stop(request, obj_id)
         name = '-'
         for row in self.table.data:
             if row.id == obj_id:
                 name = row.name
         operate_log(request.user.username,
                     request.user.roles,
                     name + " instance stop")
     except Exception as e:
         LOG.error('Error to StopInstance: %s' % str(e))
         status = ''
         for row in self.table.data:
             if row.id == obj_id:
                 status = row.status
                 break
         if status == 'SUSPENDED':
             messages.error(request, _('Instance in vm_state suspended. Cannot stop while the instance is in this state.'))
             raise