# Functions
CanRunK8sVersion returns true if the givel ciliumVersion can run in the given Kubernetes version.
CMDSuccess return a new Matcher that expects a CmdRes is a successful run command.
CountValues returns the count of the occurrences of key in data, as well as the length of data.
CreateKubectl initializes a Kubectl helper with the provided vmName and log It marks the test as Fail if cannot get the ssh meta information or cannot execute a `ls` on the virtual machine.
CreateLogFile creates the ReportDirectory if it is not present, writes the given data to the given filename.
CreateReportDirectory creates and returns the directory path to export all report commands that need to be run in the case that a test has failed.
CreateSSHMeta returns an SSHMeta with the specified host, port, and user, as well as an according SSHClient.
CreateVM creates a new vagrant server.Receives a scope which indicates the target server that needs to be created.
CurlFail returns the string representing the curl command with `-s` and `--fail` options enabled to curl the specified endpoint.
CurlWithHTTPCode retunrs the string representation of the curl command which only outputs the HTTP code returned by its execution against the specified endpoint.
DestroyVM destroys all running Vagrant VMs in the provided scope.
DNSDeployment returns the manifest to install dns engine on the server.
DoesNotRunOnNetNext is the inverse function of RunsOnNetNext.
Fail is a Ginkgo failure handler which raises a SIGSTOP for the test process when there is a failure, so that developers can debug the live environment.
GenerateManifestForEndpoints generates k8s manifests that will create endpointCount Cilium endpoints when applied.
GenerateNamespaceForTest generates a namespace based off of the current test which is running.
GetAppPods fetches app pod names for a namespace.
GetCurrentIntegration returns CI integration set up to run against Cilium.
GetCurrentK8SEnv returns the value of K8S_VERSION from the OS environment.
GetFilePath returns the absolute path of the provided filename.
GetScope returns the scope for the currently running test.
GetScopeWithVersion returns the scope of the running test.
GetSSHClient initializes an SSHClient for the specified host/port/user combination.
GetVagrantSSHMeta returns a SSHMeta initialized based on the provided SSH-config target.
GetVagrantSSHMetadata returns a string containing the output of `vagrant ssh-config` for the provided Vagrant of name vmName.
HoldEnvironment prints the current test status, then pauses the test execution.
ImportSSHconfig imports the SSH configuration stored at the provided path.
InitRuntimeHelper returns SSHMeta helper for running the runtime tests on the provided VM target and using logger 'log'.
IsRunningOnJenkins detects if the currently running Ginkgo application is most likely running in a Jenkins environment.
K8s1VMName is the name of the Kubernetes master node when running K8s tests.
K8s2VMName is the name of the Kubernetes worker node when running K8s tests.
MakeUID returns a randomly generated string.
ManifestGet returns the full path of the given manifest corresponding to the Kubernetes version being tested, if such a manifest exists, if not it returns the global manifest file.
Netcat returns the string representing the netcat command to the specified endpoint.
Netperf returns the string representing the netperf command to use when testing connectivity between endpoints.
NewSSHMetaError returns a new SSHMetaError with the given string and a callback function.
Ping returns the string representing the ping command to ping the specified endpoint.
Ping6 returns the string representing the ping6 command to ping6 the specified endpoint.
RenderTemplateToFile renders a text/template string into a target filename with specific persmisions.
RunsOnNetNext checks whether a test case is running on the net next machine which means running on the latest (probably) unreleased kernel.
Sleep sleeps for the specified duration in seconds.
SSHAgent returns the ssh.Authmethod using the Public keys.
Status returns a mapping of Vagrant VM name to its status.
WithContext executes body with the given frequency.
WithTimeout executes body using the time interval specified in config until the timeout in config is reached.
WriteOrAppendToFile writes data to a file named by filename.
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
CIIntegrationFlannel contains the constant to be used when flannel is used in the CI.
No description provided by the author
CiliumConfigMapPatch is the default Cilium ConfigMap patch to be used in all tests.
CiliumConfigMapPatchKvstoreAllocator is equivalent to CiliumConfigMapPatch except it uses the kvstore-based allocator instead of the CRD-based allocator.
CiliumDefaultDSPatch is the default Cilium DaemonSet patch to be used in all tests.
No description provided by the author
No description provided by the author
CiliumDockerNetwork is the name of the Docker network which Cilium manages.
CiliumPath is the path where cilium test code is located.
No description provided by the author
No description provided by the author
CiliumTestLog is the filename where the cilium logs that happens during the test are saved.
No description provided by the author
Container lifecycle actions.
CurlConnectTimeout is the timeout for the connect() call that curl invokes.
CurlMaxTimeout is the hard timeout.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
DNSHelperTimeout is a predefined timeout value for K8s DNS commands.
DockerBridgeIP is the IP on the docker0 bridge.
No description provided by the author
EnableMicroscope is true when microscope should be enabled.
FakeIPv4WorldAddress is an IP which is used in some datapath tests for simulating external IPv4 connectivity.
FakeIPv6WorldAddress is an IP which is used in some datapath tests for simulating external IPv6 connectivity.
No description provided by the author
No description provided by the author
No description provided by the author
HelmTemplate is the location of the Helm templates to install Cilium.
No description provided by the author
HostDockerNetwork is the name of the host network driver.
Names of commonly used containers in tests.
No description provided by the author
No description provided by the author
IP Address families.
No description provided by the author
VM / Test suite constants.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
K8sManifestBase tells ginkgo suite where to look for manifests.
No description provided by the author
KubectlCmd Kubernetes controller command.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
LogPerm is the permission for files that are created by this framework that contain logs, outputs of Cilium CLI commands, etc.
MaxRetries is the number of times that a loop should iterate until a specified condition is not met.
No description provided by the author
from https://github.com/cilium/cilium/issues/4003.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
PolicyEnforcement represents the PolicyEnforcement configuration option for the Cilium agent.
PolicyEnforcementAlways represents the PolicyEnforcement mode for Cilium in which traffic is denied by default even when no policy is imported.
PolicyEnforcementDefault represents the default PolicyEnforcement mode for Cilium.
PolicyEnforcementNever represents the PolicyEnforcement mode for Cilium in which traffic is always allowed even if there is a policy selecting endpoints.
No description provided by the author
No description provided by the author
ReservedIdentityHealth is equivalent to pkg/identity.ReservedIdentityHealth.
No description provided by the author
from https://github.com/cilium/cilium/pull/5052.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TCP_RR represents a netperf test for TCP Request/Response performance.
No description provided by the author
No description provided by the author
UDP_RR represents a netperf test for UDP Request/Response performance.
# Variables
BasePath is the path in the Vagrant VMs to which the test directory is mounted.
CheckLogs newtes a new buffer where all the warnings and checks that happens during the test are saved.
CiliumBasePath is the absolute path to the cilium source repository in the guest VMs.
CiliumStartTimeout is a predefined timeout value for Cilium startup.
No description provided by the author
No description provided by the author
HelperTimeout is a predefined timeout value for commands.
MidCommandTimeout is a timeout for commands which may take a bit longer than ShortCommandTimeout, but less time than HelperTimeout to execute.
NightlyStableUpgradesFrom the cilium images to update from in Nightly test.
ShortCommandTimeout is a timeout for commands which should not take a long time to execute.
SSHMetaLogs is a buffer where all commands sent over ssh are saved.
UserDefinedScope in case that the test scope is defined by the user instead of the focus string.
# Structs
BeSuccesfulMatcher a new Ginkgo matcher for CmdRes struct.
A Buffer is a variable-sized buffer of bytes with Read and Write methods.
CmdRes contains a variety of data which results from running a command.
ExecOptions options to execute Exec and ExecWithContext.
FilterBuffer structs that extends buffer methods.
Kubectl is a wrapper around an SSHMeta.
ManifestValues wraps manifest index.
SSHClient stores the information needed to SSH into a remote location for running tests.
SSHCommand stores the data associated with executing a command.
SSHConfig contains metadata for an SSH session.
SSHMeta contains metadata to SSH into a remote location to run tests.
SSHMetaError is a custom error that executes a callback function when its Error() function is invoked.
TimeoutConfig represents the configuration for the timeout of a command.
# Type aliases
PerfTest represents a type of test to run when running `netperf`.
ResourceLifeCycleAction represents an action performed upon objects in Kubernetes.
SSHConfigs maps the name of a host (VM) to its corresponding SSHConfiguration.