예제 #1
0
 def get_context_data(self, request):
     ruleid = self.tab_group.kwargs['policyrule_id']
     actions = []
     classifiers = []
     try:
         policyrule = client.policyrule_get(request, ruleid)
         actions = client.policyaction_list(
             request,
             tenant_id=request.user.tenant_id,
             policyrule_id=ruleid)
         actions = [
             item for item in actions
             if item.id in policyrule.policy_actions
         ]
         classifiers = client.policyclassifier_list(
             request,
             tenant_id=request.user.tenant_id,
             policyrule_id=ruleid)
         classifiers = [
             item for item in classifiers
             if item.id == policyrule.policy_classifier_id
         ]
     except Exception:
         exceptions.handle(request,
                           _('Unable to retrieve policyrule details.'),
                           redirect=self.failure_url)
     return {
         'policyrule': policyrule,
         'classifiers': classifiers,
         'actions': actions
     }
예제 #2
0
    def __init__(self, request, *args, **kwargs):
        super(UpdatePolicyRuleForm, self).__init__(request, *args, **kwargs)
        try:
            policyrule_id = self.initial['policyrule_id']
            rule = client.policyrule_get(request, policyrule_id)

            for item in ['name', 'description',
                         'policy_classifier_id', 'policy_actions', 'shared']:
                self.fields[item].initial = getattr(rule, item)

            actions = client.policyaction_list(request,
                tenant_id=request.user.tenant_id)
            for action in actions:
                action.set_id_as_name_if_empty()
            actions = sorted(actions, key=lambda action: action.name)
            action_list = [(a.id, a.name) for a in actions]
            self.fields['policy_actions'].choices = action_list

            classifiers = client.policyclassifier_list(request,
                tenant_id=request.user.tenant_id)
            classifier_list = [(c.id, c.name) for c in classifiers]
            self.fields['policy_classifier_id'].choices = classifier_list
        except Exception:
            exceptions.handle(
                request, _("Unable to retrive policy rule details."))
예제 #3
0
 def get_policyclassifierstable_data(self):
     try:
         classifiers = client.policyclassifier_list(self.tab_group.request,
             tenant_id=self.tab_group.request.user.tenant_id)
     except Exception:
         classifiers = []
         exceptions.handle(self.tab_group.request,
                           _('Unable to retrieve classifier list.'))
     else:
         classifiers = gfilters.update_classifier_attributes(classifiers)
     return classifiers
예제 #4
0
    def get_policyclassifierstable_data(self):
        try:
            classifiers = client.policyclassifier_list(self.tab_group.request)
        except Exception:
            classifiers = []
            exceptions.handle(self.tab_group.request,
                              _('Unable to retrieve classifier list.'))

        for classifier in classifiers:
            classifier.set_id_as_name_if_empty()

        return classifiers
예제 #5
0
 def get_policyclassifierstable_data(self):
     try:
         classifiers = client.policyclassifier_list(
             self.tab_group.request,
             tenant_id=self.tab_group.request.user.tenant_id)
     except Exception:
         classifiers = []
         exceptions.handle(self.tab_group.request,
                           _('Unable to retrieve classifier list.'))
     else:
         classifiers = gfilters.update_classifier_attributes(classifiers)
     return classifiers
 def populate_classifier_choices(self, request, context):
     try:
         classifiers = client.policyclassifier_list(request)
         for classifier in classifiers:
             classifier.set_id_as_name_if_empty()
         classifiers = sorted(classifiers,
                              key=lambda classifier: classifier.name)
         classifier_list = [(c.id, c.name) for c in classifiers]
     except Exception as e:
         classifier_list = []
         exceptions.handle(request,
                           _('Unable to retrieve classifiers (%(error)s).')
                           % {'error': str(e)})
     return classifier_list
예제 #7
0
 def populate_classifier_choices(self, request, context):
     try:
         classifiers = client.policyclassifier_list(request)
         for classifier in classifiers:
             classifier.set_id_as_name_if_empty()
         classifiers = sorted(classifiers,
                              key=lambda classifier: classifier.name)
         classifier_list = [(c.id, c.name) for c in classifiers]
     except Exception as e:
         classifier_list = []
         exceptions.handle(
             request,
             _('Unable to retrieve classifiers (%(error)s).') %
             {'error': str(e)})
     return classifier_list
예제 #8
0
 def __init__(self, request, *args, **kwargs):
     super(CreateServiceChainInstanceForm, self).__init__(
         request, *args, **kwargs)
     try:
         sc_specs = client.servicechainspec_list(request)
         ptgs = client.policy_target_list(request)
         ptgs = [(item.id, item.name) for item in ptgs]
         classifiers = client.policyclassifier_list(request)
         self.fields['servicechain_spec'].choices = [
             (item.id, item.name) for item in sc_specs]
         self.fields['provider_ptg'].choices = ptgs
         self.fields['consumer_ptg'].choices = ptgs
         self.fields['classifier'].choices = [
             (item.id, item.name) for item in classifiers]
     except Exception:
         msg = _("Failed to retrive policy targets")
         LOG.error(msg)
예제 #9
0
 def get_context_data(self, request):
     ruleid = self.tab_group.kwargs['policyrule_id']
     actions = []
     classifiers = []
     try:
         policyrule = client.policyrule_get(request, ruleid)
         actions = client.policyaction_list(request, policyrule_id=ruleid)
         actions = [
             item for item in actions if item.id in
             policyrule.policy_actions]
         classifiers = client.policyclassifier_list(
             request, policyrule_id=ruleid)
         classifiers = [
             item for item in classifiers if
             item.id == policyrule.policy_classifier_id]
     except Exception:
         exceptions.handle(request,
                           _('Unable to retrieve policyrule details.'),
                           redirect=self.failure_url)
     return {'policyrule': policyrule,
             'classifiers': classifiers,
             'actions': actions}