Exemple #1
0
 def _process(self):
     form = IPNetworkGroupForm()
     if form.validate_on_submit():
         network_group = IPNetworkGroup()
         form.populate_obj(network_group)
         db.session.add(network_group)
         db.session.flush()
         logger.info('Network group %s created by %s', network_group, session.user)
         return jsonify_data(flash=False)
     return jsonify_form(form)
Exemple #2
0
 def migrate_networks(self):
     self.print_step('migrating networks')
     for domain in committing_iterator(self._iter_domains()):
         ip_networks = filter(None, map(self._to_network, set(domain.filterList)))
         if not ip_networks:
             self.print_warning(cformat('%{yellow}Domain has no valid IPs: {}')
                                .format(convert_to_unicode(domain.name)))
         network = IPNetworkGroup(name=convert_to_unicode(domain.name),
                                  description=convert_to_unicode(domain.description), networks=ip_networks)
         db.session.add(network)
         self.print_success(repr(network))
     db.session.flush()
Exemple #3
0
def test_iter_acl():
    user = User()
    user_p = MagicMock(principal=user, spec=['principal'])
    ipn = IPNetworkGroup()
    ipn_p = MagicMock(principal=ipn, spec=['principal'])
    local_group = GroupProxy(123, _group=MagicMock())
    local_group_p = MagicMock(principal=local_group, spec=['principal'])
    remote_group = GroupProxy('foo', 'bar')
    remote_group_p = MagicMock(principal=remote_group, spec=['principal'])
    acl = [
        ipn, user_p, remote_group, local_group_p, user, local_group,
        remote_group_p, ipn_p
    ]
    assert list(iter_acl(iter(acl))) == [
        user_p, user, ipn, ipn_p, local_group_p, local_group, remote_group,
        remote_group_p
    ]
 def migrate_networks(self):
     for domain in self._iter_domains():
         ip_networks = filter(None,
                              map(self._to_network, set(domain.filterList)))
         if not ip_networks:
             self.print_warning(
                 '%[yellow]Domain has no valid IPs: {}'.format(
                     convert_to_unicode(domain.name)))
         network = IPNetworkGroup(name=convert_to_unicode(domain.name),
                                  description=convert_to_unicode(
                                      domain.description),
                                  networks=ip_networks)
         db.session.add(network)
         self.global_ns.ip_domains[convert_to_unicode(
             domain.name).lower()] = network
         self.print_success(repr(network))
     db.session.flush()
 def migrate_global_ip_acl(self):
     ip_networks = filter(
         None,
         map(self._to_network,
             self.makac_info._ip_based_acl_mgr._full_access_acl))
     if not ip_networks:
         self.print_error('%[red]No valid IPs found')
         return
     network = IPNetworkGroup(
         name='Full Attachment Access',
         hidden=True,
         attachment_access_override=True,
         description=
         'IPs that can access all attachments without authentication',
         networks=ip_networks)
     db.session.add(network)
     db.session.flush()
     self.print_success(repr(network))
Exemple #6
0
 def migrate_global_ip_acl(self):
     self.print_step('migrating global ip acl')
     minfo = self.zodb_root['MaKaCInfo']['main']
     ip_networks = filter(
         None,
         map(self._to_network, minfo._ip_based_acl_mgr._full_access_acl))
     if not ip_networks:
         self.print_error(cformat('%{red}No valid IPs found'))
         return
     network = IPNetworkGroup(
         name='Full Attachment Access',
         hidden=True,
         attachment_access_override=True,
         description=
         'IPs that can access all attachments without authentication',
         networks=ip_networks)
     db.session.add(network)
     db.session.flush()
     self.print_success(repr(network), always=True)
     db.session.commit()