const isVerbose … const ignoreLoopback … const namespaceLabelKey … var protocolTCP … var protocolUDP … var protocolSCTP … var _ … var _ … var _ … // getNamespaceBaseNames returns the set of base namespace names used by this test, taking a root ns as input. // The framework will also append a unique suffix when creating the namespaces. // This allows tests to run in parallel. func getNamespaceBaseNames(rootNs string) []string { … } // defaultModel creates a new "model" pod system under namespaces (x,y,z) which has pods a, b, and c. Thus resulting in the // truth table matrix that is identical for all tests, comprising 81 total connections between 9 pods (x/a, x/b, x/c, ..., z/c). func defaultModel(namespaces []string, protocols []v1.Protocol, ports []int32) *Model { … } // getK8sNamespaces returns the 3 actual namespace names. func getK8sNamespaces(k8s *kubeManager) (string, string, string) { … } func initializeCluster(ctx context.Context, f *framework.Framework, protocols []v1.Protocol, ports []int32) (*kubeManager, error) { … } // initializeResources uses the e2e framework to create all necessary namespace resources, based on the network policy // model derived from the framework. It then waits for the resources described by the model to be up and running // (i.e. all pods are ready and running in their namespaces). func initializeResources(ctx context.Context, f *framework.Framework, protocols []v1.Protocol, ports []int32) *kubeManager { … }