Documentation
¶
Index ¶
- Constants
- Variables
- func ExpectBatch(vmi *v1.VirtualMachineInstance, expected []expect.Batcher, ...) error
- func ExpectBatchWithValidatedSend(expecter expect.Expecter, batch []expect.Batcher, timeout time.Duration) ([]expect.BatchRes, error)
- func LoginToAlpine(vmi *v1.VirtualMachineInstance) error
- func LoginToCirros(vmi *v1.VirtualMachineInstance) error
- func LoginToFedora(vmi *v1.VirtualMachineInstance) error
- func NetBootExpecter(vmi *v1.VirtualMachineInstance) error
- func NewExpecter(virtCli kubecli.KubevirtClient, vmi *v1.VirtualMachineInstance, ...) (expect.Expecter, <-chan error, error)
- func OnPrivilegedPrompt(vmi *v1.VirtualMachineInstance, timeout int) bool
- func RetValue(retcode string) string
- func RunCommand(vmi *v1.VirtualMachineInstance, command string, timeout time.Duration) error
- func SafeExpectBatch(vmi *v1.VirtualMachineInstance, expected []expect.Batcher, wait int) error
- func SafeExpectBatchWithResponse(vmi *v1.VirtualMachineInstance, expected []expect.Batcher, wait int) ([]expect.BatchRes, error)
- func SecureBootExpecter(vmi *v1.VirtualMachineInstance) error
- type LoginToFunction
Constants ¶
const ( PromptExpression = `(\$ |\# )` CRLF = "\r\n" UTFPosEscape = "\u001b\\[[0-9]+;[0-9]+H" )
Variables ¶
var ( ShellSuccess = RetValue("0") ShellFail = RetValue("[1-9].*") ShellSuccessRegexp = regexp.MustCompile(ShellSuccess) ShellFailRegexp = regexp.MustCompile(ShellFail) )
Functions ¶
func ExpectBatch ¶
func ExpectBatch(vmi *v1.VirtualMachineInstance, expected []expect.Batcher, timeout time.Duration) error
ExpectBatch runs the batch from `expected` connecting to the `vmi` console and wait `timeout` for the batch to return. NOTE: there is a safer version that validates sended commands `SafeExpectBatch` refer to it about limitations.
func ExpectBatchWithValidatedSend ¶
func ExpectBatchWithValidatedSend(expecter expect.Expecter, batch []expect.Batcher, timeout time.Duration) ([]expect.BatchRes, error)
ExpectBatchWithValidatedSend adds the expect.BSnd command to the exect.BExp expression. It is done to make sure the match was found in the result of the expect.BSnd command and not in a leftover that wasn't removed from the buffer. NOTE: the method contains the following limitations:
- Use of `BatchSwitchCase`
- Multiline commands
- No more than one sequential send or receive
func LoginToAlpine ¶ added in v0.36.0
func LoginToAlpine(vmi *v1.VirtualMachineInstance) error
LoginToAlpine performs a console login to an Alpine base VM
func LoginToCirros ¶ added in v0.36.0
func LoginToCirros(vmi *v1.VirtualMachineInstance) error
LoginToCirros performs a console login to a Cirros base VM
func LoginToFedora ¶ added in v0.36.0
func LoginToFedora(vmi *v1.VirtualMachineInstance) error
LoginToFedora performs a console login to a Fedora base VM
func NetBootExpecter ¶
func NetBootExpecter(vmi *v1.VirtualMachineInstance) error
NetBootExpecter should be called on a VMI that has BIOS serial logging enabled It will parse the SeaBIOS output and succeed if it finds the string "iPXE"
func NewExpecter ¶
func NewExpecter(virtCli kubecli.KubevirtClient, vmi *v1.VirtualMachineInstance, timeout time.Duration, opts ...expect.Option) (expect.Expecter, <-chan error, error)
NewExpecter will connect to an already logged in VMI console and return the generated expecter it will wait `timeout` for the connection.
func OnPrivilegedPrompt ¶ added in v0.36.0
func OnPrivilegedPrompt(vmi *v1.VirtualMachineInstance, timeout int) bool
OnPrivilegedPrompt performs a console check that the prompt is privileged.
func RunCommand ¶
RunCommand runs the command line from `command` connecting to an already logged in console at vmi and waiting `timeout` for command to return. NOTE: The safer version `ExpectBatchWithValidatedSend` is not used here since it does not support cases.
func SafeExpectBatch ¶
SafeExpectBatch runs the batch from `expected`, connecting to a VMI's console and waiting `wait` seconds for the batch to return. It validates that the commands arrive to the console. NOTE: This functions heritage limitations from `ExpectBatchWithValidatedSend` refer to it to check them.
func SafeExpectBatchWithResponse ¶ added in v0.36.0
func SafeExpectBatchWithResponse(vmi *v1.VirtualMachineInstance, expected []expect.Batcher, wait int) ([]expect.BatchRes, error)
SafeExpectBatchWithResponse runs the batch from `expected`, connecting to a VMI's console and waiting `wait` seconds for the batch to return with a response. It validates that the commands arrive to the console. NOTE: This functions inherits limitations from `ExpectBatchWithValidatedSend`, refer to it for more information.
func SecureBootExpecter ¶
func SecureBootExpecter(vmi *v1.VirtualMachineInstance) error
SecureBootExpecter should be called on a VMI that has EFI enabled It will parse the kernel output (dmesg) and succeed if it finds that Secure boot is enabled
Types ¶
type LoginToFunction ¶ added in v0.50.0
type LoginToFunction func(*v1.VirtualMachineInstance) error
LoginToFunction represents any of the LoginTo* functions