def check_network_classes_exclude_loopback(self):
        for n in self.networks:
            if n.get('cidr'):
                cidr = netaddr.IPNetwork(n['cidr']).cidr
                if cidr in netaddr.IPNetwork('224.0.0.0/3'):
                    self.err_msgs.append(
                        u"{0} network address space does not belong to "
                        u"A, B, C network classes. It must belong to either "
                        u"A, B or C network class.".format(n["name"])
                    )
                    self.result.append({"ids": [int(n["id"])],
                                        "errors": ["cidr", "ip_ranges"]})
                elif cidr in netaddr.IPNetwork('127.0.0.0/8'):
                    self.err_msgs.append(
                        u"{0} network address space is inside loopback range "
                        u"(127.0.0.0/8). It must have no intersection with "
                        u"loopback range.".format(n["name"])
                    )
                    self.result.append({"ids": [int(n["id"])],
                                        "errors": ["cidr", "ip_ranges"]})
        self.expose_error_messages()
If productversions does not exist, there will be a 500 error.
dataset/ETHPy150Open openstack/fuel-web/nailgun/nailgun/extensions/network_manager/checker.py/NetworkCheck.check_network_classes_exclude_loopback--crossover with--dataset/ETHPy150Open mozilla/moztrap/tests/model/core/api/test_product_resource.py/ProductResourceTest.test_create_must_contain_productversion