Top Level Namespace

Included Modules

Extended Modules

Defined in:

Constant Summary

BASE_CONFIG = "./config.yml"
CHAOS_CONTAINER_KILL = Base64.decode_string("YXBpVmVyc2lvbjogY2hhb3MtbWVzaC5vcmcvdjFhbHBoYTEKa2luZDogUG9kQ2hhb3MKbWV0YWRh\ndGE6CiAgbmFtZTogY29udGFpbmVyLWtpbGwKICBuYW1lc3BhY2U6IGRlZmF1bHQKc3BlYzoKICBh\nY3Rpb246IGNvbnRhaW5lci1raWxsCiAgbW9kZTogb25lCiAgY29udGFpbmVyTmFtZTogInRlc3Qt\nc2VsZWN0b3IiCiAgc2VsZWN0b3I6CiAgICBsYWJlbFNlbGVjdG9yczoKICAgICAgJ3Rlc3Qtc2Vs\nZWN0b3InOiAndGVzdC1zZWxlY3RvcicKICBzY2hlZHVsZXI6CiAgICBjcm9uOiAiQGV2ZXJ5IDMw\ncyIK\n")
CHAOS_CPU_HOG = Base64.decode_string("YXBpVmVyc2lvbjogY2hhb3MtbWVzaC5vcmcvdjFhbHBoYTEKa2luZDogU3RyZXNzQ2hhb3MKbWV0\nYWRhdGE6CiAgbmFtZTogY3B1LWhvZy10ZXN0CiAgbmFtZXNwYWNlOiBkZWZhdWx0CnNwZWM6CiAg\nbW9kZTogb25lCiAgc2VsZWN0b3I6CiAgICBsYWJlbFNlbGVjdG9yczoKICAgICAgJ3Rlc3Qtc2Vs\nZWN0b3InOiAndGVzdC1zZWxlY3RvcicKICBzdHJlc3NvcnM6IAogICAgY3B1OiAKICAgICAgd29y\na2VyczogMQogICAgICBsb2FkOiAxMDAKICBkdXJhdGlvbjogIjMwcyIKICBzY2hlZHVsZXI6CiAg\nICBjcm9uOiAiQGV2ZXJ5IDJtIgo=\n")
CHAOS_MESH_OFFLINE_DIR = "#{TarClient::TAR_REPOSITORY_DIR}/chaos-mesh_chaos-mesh"
CHAOS_MESH_VERSION = "v0.8.0"
CHAOS_NETWORK_LOSS = Base64.decode_string("YXBpVmVyc2lvbjogY2hhb3MtbWVzaC5vcmcvdjFhbHBoYTEKa2luZDogTmV0d29ya0NoYW9zCm1l\ndGFkYXRhOgogIG5hbWU6IG5ldHdvcmstbG9zcy10ZXN0CiAgbmFtZXNwYWNlOiBkZWZhdWx0CnNw\nZWM6CiAgYWN0aW9uOiBsb3NzCiAgbW9kZTogb25lCiAgc2VsZWN0b3I6CiAgICBsYWJlbFNlbGVj\ndG9yczoKICAgICAgJ3Rlc3Qtc2VsZWN0b3InOiAndGVzdC1zZWxlY3RvcicKICBsb3NzOgogICAg\nbG9zczogJzEwMCcKICAgIGNvcnJlbGF0aW9uOiAnMTAwJwogIGR1cmF0aW9uOiAnNDBzJwogIHNj\naGVkdWxlcjoKICAgIGNyb246ICdAZXZlcnkgNjAwcycK\n")
CLUSTER_TOOLS = Base64.decode_string("YXBpVmVyc2lvbjogYXBwcy92MQpraW5kOiBEYWVtb25TZXQKbWV0YWRhdGE6CiAgICBuYW1lOiBj\nbHVzdGVyLXRvb2xzCnNwZWM6CiAgc2VsZWN0b3I6CiAgICBtYXRjaExhYmVsczoKICAgICAgbmFt\nZTogY2x1c3Rlci10b29scwogIHRlbXBsYXRlOgogICAgbWV0YWRhdGE6CiAgICAgIGxhYmVsczoK\nICAgICAgICBuYW1lOiBjbHVzdGVyLXRvb2xzCiAgICBzcGVjOgogICAgICBob3N0TmV0d29yazog\ndHJ1ZQogICAgICBjb250YWluZXJzOgogICAgICAgIC0gbmFtZTogY2x1c3Rlci10b29scwogICAg\nICAgICAgaW1hZ2U6IGNvbmZvcm1hbmNlL2NsdXN0ZXItdG9vbHM6djEuMC4wCiAgICAgICAgICBp\nbWFnZVB1bGxQb2xpY3k6IEFsd2F5cwogICAgICAgICAgY29tbWFuZDogWyIvYmluL3NoIl0KICAg\nICAgICAgIGFyZ3M6IFsiLWMiLCAic2xlZXAgaW5maW5pdHkiXQogICAgICAgICAgdm9sdW1lTW91\nbnRzOgogICAgICAgICAgLSBtb3VudFBhdGg6IC9ydW4vY29udGFpbmVyZC9jb250YWluZXJkLnNv\nY2sKICAgICAgICAgICAgbmFtZTogY29udGFpbmVyZC12b2x1bWUKICAgICAgICAgIC0gbW91bnRQ\nYXRoOiAvcHJvYwogICAgICAgICAgICBuYW1lOiBwcm9jCiAgICAgICAgICAtIG1vdW50UGF0aDog\nL3J1bi9kb2NrZXJzaGltLnNvY2sKICAgICAgICAgICAgbmFtZTogZG9ja2VyZC12b2x1bWUKICAg\nICAgICAgIHNlY3VyaXR5Q29udGV4dDoKICAgICAgICAgICAgcHJpdmlsZWdlZDogdHJ1ZQogICAg\nICB2b2x1bWVzOgogICAgICAtIG5hbWU6IGNvbnRhaW5lcmQtdm9sdW1lCiAgICAgICAgaG9zdFBh\ndGg6CiAgICAgICAgICBwYXRoOiAvdmFyL3J1bi9jb250YWluZXJkL2NvbnRhaW5lcmQuc29jawog\nICAgICAtIG5hbWU6IHByb2MKICAgICAgICBob3N0UGF0aDoKICAgICAgICAgIHBhdGg6IC9wcm9j\nCiAgICAgIC0gbmFtZTogZG9ja2VyZC12b2x1bWUKICAgICAgICBob3N0UGF0aDoKICAgICAgICAg\nIHBhdGg6IC9ydW4vZG9ja2Vyc2hpbS5zb2NrCi0tLQphcGlWZXJzaW9uOiBhcHBzL3YxCmtpbmQ6\nIERhZW1vblNldAptZXRhZGF0YToKICAgIG5hbWU6IGNsdXN0ZXItdG9vbHMtazhzCnNwZWM6CiAg\nc2VsZWN0b3I6CiAgICBtYXRjaExhYmVsczoKICAgICAgbmFtZTogY2x1c3Rlci10b29scy1rOHMK\nICB0ZW1wbGF0ZToKICAgIG1ldGFkYXRhOgogICAgICBsYWJlbHM6CiAgICAgICAgbmFtZTogY2x1\nc3Rlci10b29scy1rOHMKICAgIHNwZWM6CiAgICAgIGNvbnRhaW5lcnM6CiAgICAgICAgLSBuYW1l\nOiBjbHVzdGVyLXRvb2xzLWs4cwogICAgICAgICAgaW1hZ2U6IGNvbmZvcm1hbmNlL2NsdXN0ZXIt\ndG9vbHM6djEuMC4wCiAgICAgICAgICBpbWFnZVB1bGxQb2xpY3k6IEFsd2F5cwogICAgICAgICAg\nY29tbWFuZDogWyIvYmluL3NoIl0KICAgICAgICAgIGFyZ3M6IFsiLWMiLCAic2xlZXAgaW5maW5p\ndHkiXQogICAgICAgICAgdm9sdW1lTW91bnRzOgogICAgICAgICAgLSBtb3VudFBhdGg6IC9ydW4v\nY29udGFpbmVyZC9jb250YWluZXJkLnNvY2sKICAgICAgICAgICAgbmFtZTogY29udGFpbmVyZC12\nb2x1bWUKICAgICAgICAgIC0gbW91bnRQYXRoOiAvcnVuL2RvY2tlcnNoaW0uc29jawogICAgICAg\nICAgICBuYW1lOiBkb2NrZXJkLXZvbHVtZQogICAgICB2b2x1bWVzOgogICAgICAtIG5hbWU6IGNv\nbnRhaW5lcmQtdm9sdW1lCiAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICBwYXRoOiAvdmFyL3J1\nbi9jb250YWluZXJkL2NvbnRhaW5lcmQuc29jawogICAgICAtIG5hbWU6IGRvY2tlcmQtdm9sdW1l\nCiAgICAgICAgaG9zdFBhdGg6CiAgICAgICAgICBwYXRoOiAvcnVuL2RvY2tlcnNoaW0uc29jawo=\n")
CNF_DIR = "cnfs"
CONFIG_FILE = "cnf-testsuite.yml"
CONSTRAINT_TEMPLATE = Base64.decode_string("YXBpVmVyc2lvbjogdGVtcGxhdGVzLmdhdGVrZWVwZXIuc2gvdjFiZXRhMQpraW5kOiBDb25zdHJh\naW50VGVtcGxhdGUKbWV0YWRhdGE6CiAgbmFtZTogcmVxdWlyZXRhZ3MKc3BlYzoKICBjcmQ6CiAg\nICBzcGVjOgogICAgICBuYW1lczoKICAgICAgICBraW5kOiBSZXF1aXJlVGFncwogIHRhcmdldHM6\nCiAgICAtIHRhcmdldDogYWRtaXNzaW9uLms4cy5nYXRla2VlcGVyLnNoCiAgICAgIHJlZ286IHwK\nICAgICAgICBwYWNrYWdlIHJlcXVpcmV0YWdzCiAgICAgICAgdmlvbGF0aW9uW3sibXNnIjogbXNn\nLCAiZGV0YWlscyI6IHt9fV17CiAgICAgICAgICBpbnB1dC5yZXZpZXcua2luZC5raW5kID09ICJQ\nb2QiCiAgICAgICAgICBpbWFnZSA6PSBpbnB1dC5yZXZpZXcub2JqZWN0LnNwZWMuY29udGFpbmVy\nc1tfXS5pbWFnZQogICAgICAgICAgZW5zdXJlKGltYWdlKQogICAgICAgICAgbXNnIDo9IHNwcmlu\ndGYoIlZpb2xhdGlvbiBmb3IgUG9kICV2LCBpdCB1c2VzIGFuIGltYWdlIHRhZyB0aGF0IGlzIG5v\ndCB2ZXJzaW9uZWQiLCBbaW5wdXQucmV2aWV3Lm9iamVjdC5tZXRhZGF0YS5uYW1lXSkKICAgICAg\nICB9CiAgICAgICAgCiAgICAgICAgZW5zdXJlKGltYWdlKSB7CiAgICAgICAgICBjb250YWlucyhp\nbWFnZSwgIjpsYXRlc3QiKQogICAgICAgIH0KICAgICAgICBlbnN1cmUoaW1hZ2UpIHsKICAgICAg\nICAgIG5vdCBjb250YWlucyhpbWFnZSwiOiIpCiAgICAgICAgfQoK\n")
DEFAULT_POINTSFILENAME = "points_v1.yml"

todo move to helm module CHART_YAML = "Chart.yaml"

DISABLE_CNI = Base64.decode_string("a2luZDogQ2x1c3RlcgphcGlWZXJzaW9uOiBraW5kLngtazhzLmlvL3YxYWxwaGE0Cm5ldHdvcmtp\nbmc6CiAgZGlzYWJsZURlZmF1bHRDTkk6IHRydWUgIyBkaXNhYmxlIGtpbmRuZXQKICAjICBwb2RT\ndWJuZXQ6IDE5Mi4xNjguMC4wLzE2ICMgc2V0IHRvIENhbGljbydzIGRlZmF1bHQgc3VibmV0Cg==\n")
DOCKERD_MANIFEST = Base64.decode_string("LS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZ01hcAptZXRhZGF0YToKICBuYW1lOiBkb2Nr\nZXItY29uZmlnCmRhdGE6CiAgY29uZmlnLnlhbWw6IHwKICAgIHsKICAgICAgImluc2VjdXJlLXJl\nZ2lzdHJpZXMiIDogWyJyZWdpc3RyeTo1MDAwIiwgInJlZ2lzdHJ5LmRlZmF1bHQuc3ZjLmNsdXN0\nZXIubG9jYWw6NTAwMCJdCiAgICB9Ci0tLQphcGlWZXJzaW9uOiB2MQpraW5kOiBQb2QKbWV0YWRh\ndGE6CiAgICBuYW1lOiBkb2NrZXJkCiAgICBsYWJlbHM6CiAgICAgIG5hbWU6IGRvY2tlcmQgCnNw\nZWM6CiAgY29udGFpbmVyczoKICAtIG5hbWU6IGRvY2tlcmQKICAgIGltYWdlOiBkb2NrZXI6ZGlu\nZAogICAgdm9sdW1lTW91bnRzOgogICAgLSBuYW1lOiBjb25maWctdm9sdW1lCiAgICAgIG1vdW50\nUGF0aDogL2V0Yy9kb2NrZXIvZGFlbW9uLmpzb24KICAgICAgc3ViUGF0aDogY29uZmlnLnlhbWwK\nICAgIGxpdmVuZXNzUHJvYmU6CiAgICAgIHRjcFNvY2tldDoKICAgICAgICBwb3J0OiAyMzc2CiAg\nICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDMKICAgICAgcGVyaW9kU2Vjb25kczogMwogICAgcmVh\nZGluZXNzUHJvYmU6CiAgICAgIHRjcFNvY2tldDoKICAgICAgICBwb3J0OiAyMzc2CiAgICAgIGlu\naXRpYWxEZWxheVNlY29uZHM6IDMKICAgICAgcGVyaW9kU2Vjb25kczogMwogICAgc2VjdXJpdHlD\nb250ZXh0OgogICAgICBwcml2aWxlZ2VkOiB0cnVlCiAgdm9sdW1lczoKICAgIC0gbmFtZTogY29u\nZmlnLXZvbHVtZQogICAgICBjb25maWdNYXA6CiAgICAgICAgbmFtZTogZG9ja2VyLWNvbmZpZwo=\n")
ELASTIC_PROVISIONING_DRIVERS_REGEX = /kubernetes.io\/aws-ebs|kubernetes.io\/azure-file|kubernetes.io\/azure-disk|kubernetes.io\/cinder|kubernetes.io\/gce-pd|kubernetes.io\/glusterfs|kubernetes.io\/quobyte|kubernetes.io\/rbd|kubernetes.io\/vsphere-volume|kubernetes.io\/portworx-volume|kubernetes.io\/scaleio|kubernetes.io\/storageos|rook-ceph.rbd.csi.ceph.com/
ELASTIC_PROVISIONING_DRIVERS_REGEX_SPEC = /kubernetes.io\/aws-ebs|kubernetes.io\/azure-file|kubernetes.io\/azure-disk|kubernetes.io\/cinder|kubernetes.io\/gce-pd|kubernetes.io\/glusterfs|kubernetes.io\/quobyte|kubernetes.io\/rbd|kubernetes.io\/vsphere-volume|kubernetes.io\/portworx-volume|kubernetes.io\/scaleio|kubernetes.io\/storageos|rook-ceph.rbd.csi.ceph.com|rancher.io\/local-path/
EMPTY_JSON = JSON.parse("{}")
EMPTY_JSON_ARRAY = JSON.parse("[]")
ENFORCE_IMAGE_TAG = Base64.decode_string("YXBpVmVyc2lvbjogY29uc3RyYWludHMuZ2F0ZWtlZXBlci5zaC92MWJldGExCmtpbmQ6IFJlcXVp\ncmVUYWdzCm1ldGFkYXRhOgogIG5hbWU6IGJsb2NrLWxhdGVzdC10YWcKc3BlYzoKICBtYXRjaDoK\nICAgIGtpbmRzOgogICAgICAtIGFwaUdyb3VwczogWyIiXQogICAgICAgIGtpbmRzOiBbIlBvZCJd\nCiAgICAgIAo=\n")
EXCLUDE_NAMESPACES = ["kube-system", "kube-public", "kube-node-lease", "local-path-storage", "litmus", TESTSUITE_NAMESPACE]
FAILED = "failed"
FALCO_OFFLINE_DIR = "#{TarClient::TAR_REPOSITORY_DIR}/falcosecurity_falco"
FALCO_RULES = Base64.decode_string("Y3VzdG9tUnVsZXM6CiAgcnVsZXMtcm9vdC55YW1sOiB8LQogICAgLSBydWxlOiBEZXRlY3QgUm9v\ndCBDb250YWluZXIgUHJvY2Vzc2VzLgogICAgICBkZXNjOiBMaXN0IGNvbnRhaW5lciBwcm9jZXNz\nIHJ1biBieSBhIHJvb3QgdXNlci4KICAgICAgY29uZGl0aW9uOiAoZXZ0LnR5cGUgIT0gY29udGFp\nbmVyIGFuZCBjb250YWluZXIgYW5kIGs4cy5wb2QubmFtZSAhPSAiPE5BPiIgYW5kIHVzZXIudWlk\nID0gMCkKICAgICAgb3V0cHV0OiA+CiAgICAgICAgQSBjb250YWluZXIgd2l0aCBhIHJvb3QgcHJv\nY2Nlc3Mgd2FzIGRldGVjdGVkLiAoazhzX3BvZD0lazhzLnBvZC5uYW1lKSBwcm9jX25hbWU9JXBy\nb2MubmFtZSB1c2VyX3VpZD0ldXNlci51aWQKICAgICAgcHJpb3JpdHk6IE5PVElDRQogICAgICB0\nYWdzOiBbY29udGFpbmVyLCByb290XQoKICAgICAgICAK\n")
FLUENTD_VALUES = Base64.decode_string("ZmlsZUNvbmZpZ3M6CiAgMDRfb3V0cHV0cy5jb25mOiB8LQogICAgPGxhYmVsIEBPVVRQVVQ+CiAg\nICAgIDxtYXRjaCAqKj4KICAgICAgICBAdHlwZSBmaWxlCiAgICAgICAgcGF0aCAiL3Rlc3RkYXRh\nIgogICAgICA8L21hdGNoPgogICAgPC9sYWJlbD4K\n")
IGNORED_SECRET_TYPES = ["kubernetes.io/service-account-token", "kubernetes.io/dockercfg", "kubernetes.io/dockerconfigjson", "helm.sh/release.v1"]
KIND_VERSION = "0.11.1"
KUBESCAPE_FRAMEWORK_VERSION = "1.0.108"
KUBESCAPE_VERSION = "1.0.132"
LOGGING = LogginGenerator.new
NA = "na"
NODE_FAILED_VALUES = Base64.decode_string("dG9sZXJhdGlvbnM6Ci0ga2V5OiAibm9kZS5rdWJlcm5ldGVzLmlvL3VucmVhY2hhYmxlIgogIG9w\nZXJhdG9yOiAiRXhpc3RzIgogIGVmZmVjdDogIk5vRXhlY3V0ZSIKICB0b2xlcmF0aW9uU2Vjb25k\nczogMQotIGtleTogIm5vZGUua3ViZXJuZXRlcy5pby9ub3QtcmVhZHkiCiAgb3BlcmF0b3I6ICJF\neGlzdHMiCiAgZWZmZWN0OiAiTm9FeGVjdXRlIgogIHRvbGVyYXRpb25TZWNvbmRzOiAxCgo=\n")
OFFLINE_MANIFESTS_PATH = "/tmp/manifests"
OPA_OFFLINE_DIR = "#{TarClient::TAR_REPOSITORY_DIR}/gatekeeper_gatekeeper"
PASSED = "passed"
POINTSFILE = Base64.decode_string("LS0tCi0gbmFtZTogZGVmYXVsdF9zY29yaW5nCiAgdGFnczogCiAgcGFzczogNQogIGZhaWw6IC0x\nIAogIHNraXBwZWQ6IDAgCiAgbmE6IDAgCiAgbmV1dHJhbDogMCAKCi0gbmFtZTogcmVhc29uYWJs\nZV9pbWFnZV9zaXplCiAgdGFnczogbWljcm9zZXJ2aWNlLCBkeW5hbWljLCB3b3JrbG9hZAotIG5h\nbWU6IHJlYXNvbmFibGVfc3RhcnR1cF90aW1lIAogIHRhZ3M6IG1pY3Jvc2VydmljZSwgZHluYW1p\nYywgd29ya2xvYWQKLSBuYW1lOiBzaW5nbGVfcHJvY2Vzc190eXBlIAogIHRhZ3M6IG1pY3Jvc2Vy\ndmljZSwgZHluYW1pYywgd29ya2xvYWQKLSBuYW1lOiBzZXJ2aWNlX2Rpc2NvdmVyeQogIHRhZ3M6\nIG1pY3Jvc2VydmljZSwgZHluYW1pYywgd29ya2xvYWQKICBwYXNzOiA1CiAgZmFpbDogMAotIG5h\nbWU6IHNoYXJlZF9kYXRhYmFzZQogIHRhZ3M6IG1pY3Jvc2VydmljZSwgZHluYW1pYywgd29ya2xv\nYWQKCi0gbmFtZTogY25pX2NvbXBhdGlibGUKICB0YWdzOiBjb21wYXRpYmlsaXR5LCBkeW5hbWlj\nLCB3b3JrbG9hZAojIC0gbmFtZTogY25pX3NwZWMgCiMgIHRhZ3M6IGNvbXBhdGliaWxpdHksIGR5\nbmFtaWMKIy0gbmFtZTogYXBpX3Nub29wX2FscGhhIAojICB0YWdzOiBjb21wYXRpYmlsaXR5LCBk\neW5hbWljCiMtIG5hbWU6IGFwaV9zbm9vcF9iZXRhIAojICB0YWdzOiBjb21wYXRpYmlsaXR5LCBk\neW5hbWljCiMtIG5hbWU6IGFwaV9zbm9vcF9nZW5lcmFsX2FwaXMgCiMgIHRhZ3M6IGNvbXBhdGli\naWxpdHksIGR5bmFtaWMKCiMtIG5hbWU6IHJlc2V0X2NuZiAKIyAgdGFnczogc3RhdGUsIGR5bmFt\naWMsIGNvbmZpZ3VyYXRpb24KIy0gbmFtZTogY2hlY2tfcmVhcGVkIAojICB0YWdzOiBzdGF0ZSwg\nZHluYW1pYywgY29uZmlndXJhdGlvbgoKLSBuYW1lOiBwcml2aWxlZ2VkIAogIHRhZ3M6IHNlY3Vy\naXR5LCBkeW5hbWljLCB3b3JrbG9hZAogIHJlcXVpcmVkOiB0cnVlCi0gbmFtZTogbm9uX3Jvb3Rf\ndXNlciAKICB0YWdzOiBzZWN1cml0eSwgZHluYW1pYywgd29ya2xvYWQKLSBuYW1lOiBwcml2aWxl\nZ2VfZXNjYWxhdGlvbiAKICB0YWdzOiBzZWN1cml0eSwgZHluYW1pYywgd29ya2xvYWQKLSBuYW1l\nOiBzeW1saW5rX2ZpbGVfc3lzdGVtIAogIHRhZ3M6IHNlY3VyaXR5LCBkeW5hbWljLCB3b3JrbG9h\nZAotIG5hbWU6IGFwcGxpY2F0aW9uX2NyZWRlbnRpYWxzIAogIHRhZ3M6IHNlY3VyaXR5LCBkeW5h\nbWljLCB3b3JrbG9hZAotIG5hbWU6IGhvc3RfbmV0d29yayAKICB0YWdzOiBzZWN1cml0eSwgZHlu\nYW1pYywgd29ya2xvYWQKIy0gbmFtZTogc2hlbGxzIAojICB0YWdzOiBzZWN1cml0eSwgZHluYW1p\nYwojLSBuYW1lOiBwcm90ZWN0ZWRfYWNjZXNzIAojICB0YWdzOiBzZWN1cml0eSwgZHluYW1pYwoK\nLSBuYW1lOiBpbmNyZWFzZV9jYXBhY2l0eSAKICB0YWdzOiBjb21wYXRpYmlsaXR5LCBkeW5hbWlj\nLCB3b3JrbG9hZAogIHBhc3M6IDEwCiAgZmFpbDogLTUgCi0gbmFtZTogZGVjcmVhc2VfY2FwYWNp\ndHkgCiAgdGFnczogY29tcGF0aWJpbGl0eSwgZHluYW1pYywgd29ya2xvYWQKICBwYXNzOiAxMAog\nIGZhaWw6IC01IAojLSBuYW1lOiBzbWFsbF9hdXRvc2NhbGluZyAKIyAgdGFnczogY29tcGF0aWJp\nbGl0eSwgZHluYW1pYywgd29ya2xvYWQKIy0gbmFtZTogbGFyZ2VfYXV0b3NjYWxpbmcgCiMgIHRh\nZ3M6IGNvbXBhdGliaWxpdHksIGR5bmFtaWMsIHdvcmtsb2FkCiMgLSBuYW1lOiBuZXR3b3JrX2No\nYW9zIAojICAgdGFnczogcmVzaWxpZW5jZSwgZHluYW1pYywgd29ya2xvYWQKLSBuYW1lOiBwb2Rf\nbmV0d29ya19sYXRlbmN5CiAgdGFnczogcmVzaWxpZW5jZSwgZHluYW1pYywgd29ya2xvYWQKLSBu\nYW1lOiBwb2RfbmV0d29ya19jb3JydXB0aW9uCiAgdGFnczogcmVzaWxpZW5jZSwgZHluYW1pYywg\nd29ya2xvYWQKLSBuYW1lOiBwb2RfbmV0d29ya19kdXBsaWNhdGlvbgogIHRhZ3M6IHJlc2lsaWVu\nY2UsIGR5bmFtaWMsIHdvcmtsb2FkCi0gbmFtZTogcG9kX2RlbGV0ZQogIHRhZ3M6IHJlc2lsaWVu\nY2UsIGR5bmFtaWMsIHdvcmtsb2FkICAKLSBuYW1lOiBwb2RfaW9fc3RyZXNzCiAgdGFnczogcmVz\naWxpZW5jZSwgZHluYW1pYywgd29ya2xvYWQgIAotIG5hbWU6IHBvZF9tZW1vcnlfaG9nCiAgdGFn\nczogcmVzaWxpZW5jZSwgZHluYW1pYywgd29ya2xvYWQgIAotIG5hbWU6IGRpc2tfZmlsbAogIHRh\nZ3M6IHJlc2lsaWVuY2UsIGR5bmFtaWMsIHdvcmtsb2FkICAKLSBuYW1lOiBwb2RfZG5zX2Vycm9y\nCiAgdGFnczogcG9kX2Ruc19lcnJvciwgZHluYW1pYywgd29ya2xvYWQgIAojLSBuYW1lOiBleHRl\ncm5hbF9yZXRyeSAKIyAgdGFnczogc2NhbGFiaWxpdHksIGR5bmFtaWMsIHdvcmtsb2FkCgojLSBu\nYW1lOiB2ZXJzaW9uZWRfaGVsbV9jaGFydAojICB0YWdzOiBjb25maWd1cmF0aW9uLCBkeW5hbWlj\nLCB3b3JrbG9hZAotIG5hbWU6IHZlcnNpb25lZF90YWcKICB0YWdzOiBjb25maWd1cmF0aW9uLCBk\neW5hbWljLCB3b3JrbG9hZAotIG5hbWU6IGlwX2FkZHJlc3NlcwogIHBhc3M6IDAKICBmYWlsOiAt\nMSAKICB0YWdzOiBjb25maWd1cmF0aW9uLCBzdGF0aWMsIHdvcmtsb2FkCi0gbmFtZTogbGl2ZW5l\nc3MKICB0YWdzOiByZXNpbGllbmNlLCBkeW5hbWljLCB3b3JrbG9hZAotIG5hbWU6IHJlYWRpbmVz\ncwogIHRhZ3M6IHJlc2lsaWVuY2UsIGR5bmFtaWMsIHdvcmtsb2FkCiMtIG5hbWU6IG5vX3ZvbHVt\nZV93aXRoX2NvbmZpZ3VyYXRpb24KIyAgdGFnczogY29uZmlndXJhdGlvbiwgZHluYW1pYwotIG5h\nbWU6IHJvbGxpbmdfdXBkYXRlCiAgdGFnczogY29tcGF0aWJpbGl0eSwgZHluYW1pYywgd29ya2xv\nYWQKLSBuYW1lOiByb2xsaW5nX2Rvd25ncmFkZQogIHRhZ3M6IGNvbXBhdGliaWxpdHksIGR5bmFt\naWMsIHdvcmtsb2FkCi0gbmFtZTogcm9sbGluZ192ZXJzaW9uX2NoYW5nZQogIHRhZ3M6IGNvbXBh\ndGliaWxpdHksIGR5bmFtaWMsIHdvcmtsb2FkCi0gbmFtZTogcm9sbGJhY2sKICB0YWdzOiBjb21w\nYXRpYmlsaXR5LCBkeW5hbWljLCB3b3JrbG9hZAotIG5hbWU6IG5vZGVwb3J0X25vdF91c2VkCiAg\ndGFnczogY29uZmlndXJhdGlvbiwgZHluYW1pYywgd29ya2xvYWQKLSBuYW1lOiBob3N0cG9ydF9u\nb3RfdXNlZAogIHRhZ3M6IGNvbmZpZ3VyYXRpb24sIGR5bmFtaWMsIHdvcmtsb2FkCi0gbmFtZTog\naGFyZGNvZGVkX2lwX2FkZHJlc3Nlc19pbl9rOHNfcnVudGltZV9jb25maWd1cmF0aW9uCiAgdGFn\nczogY29uZmlndXJhdGlvbiwgZHluYW1pYywgd29ya2xvYWQKLSBuYW1lOiBzZWNyZXRzX3VzZWQK\nICB0YWdzOiBjb25maWd1cmF0aW9uLCBkeW5hbWljLCB3b3JrbG9hZAogIHBhc3M6IDUKICBmYWls\nOiAwIAotIG5hbWU6IGltbXV0YWJsZV9jb25maWdtYXAKICB0YWdzOiBjb25maWd1cmF0aW9uLCBk\neW5hbWljLCB3b3JrbG9hZAogIHBhc3M6IDEKICBmYWlsOiAwIAoKIy0gbmFtZTogZmx1ZW50ZF90\ncmFmZmljCiMgIHRhZ3M6IG9ic2VydmFiaWxpdHksIGR5bmFtaWMsIHdvcmtsb2FkCiMtIG5hbWU6\nIGphZWdlcl90cmFmZmljCiMgIHRhZ3M6IG9ic2VydmFiaWxpdHksIGR5bmFtaWMsIHdvcmtsb2Fk\nCiMtIG5hbWU6IHByb21ldGhldXNfdHJhZmZpYwojICB0YWdzOiBvYnNlcnZhYmlsaXR5LCBkeW5h\nbWljLCB3b3JrbG9hZAojLSBuYW1lOiBvcGVudGVsZW1ldHJ5X2NvbXBhdGlibGUKIyAgdGFnczog\nb2JzZXJ2YWJpbGl0eSwgZHluYW1pYywgd29ya2xvYWQKIy0gbmFtZTogb3Blbm1ldHJpY19jb21w\nYXRpYmxlCiMgIHRhZ3M6IG9ic2VydmFiaWxpdHksIGR5bmFtaWMsIHdvcmtsb2FkCgotIG5hbWU6\nIGhlbG1fZGVwbG95CiAgdGFnczogY29tcGF0aWJpbGl0eSwgZHluYW1pYywgd29ya2xvYWQKLSBu\nYW1lOiBpbnN0YWxsX3NjcmlwdF9oZWxtCiAgdGFnczogY29tcGF0aWJpbGl0eSwgc3RhdGljLCB3\nb3JrbG9hZAotIG5hbWU6IGhlbG1fY2hhcnRfdmFsaWQKICB0YWdzOiBjb21wYXRpYmlsaXR5LCBk\neW5hbWljLCB3b3JrbG9hZAotIG5hbWU6IGhlbG1fY2hhcnRfcHVibGlzaGVkCiAgdGFnczogY29t\ncGF0aWJpbGl0eSwgZHluYW1pYywgd29ya2xvYWQKICAKIyAtIG5hbWU6IGNoYW9zX25ldHdvcmtf\nbG9zcyAKIyAgIHRhZ3M6IHJlc2lsaWVuY2UsIGR5bmFtaWMsIHdvcmtsb2FkCiMgLSBuYW1lOiBj\naGFvc19jcHVfaG9nCiMgICB0YWdzOiByZXNpbGllbmNlLCBkeW5hbWljLCB3b3JrbG9hZAojIC0g\nbmFtZTogY2hhb3NfY29udGFpbmVyX2tpbGwKIyAgIHRhZ3M6IHJlc2lsaWVuY2UsIGR5bmFtaWMs\nIHdvcmtsb2FkCgotIG5hbWU6IHZvbHVtZV9ob3N0cGF0aF9ub3RfZm91bmQKICB0YWdzOiBzdGF0\nZSwgZHluYW1pYywgd29ya2xvYWQKLSBuYW1lOiBub19sb2NhbF92b2x1bWVfY29uZmlndXJhdGlv\nbiAKICB0YWdzOiBzdGF0ZSwgZHluYW1pYywgd29ya2xvYWQKLSBuYW1lOiBlbGFzdGljX3ZvbHVt\nZXMgCiAgdGFnczogc3RhdGUsIGR5bmFtaWMsIHdvcmtsb2FkCiAgcGFzczogNSAKICBmYWlsOiAw\nIAotIG5hbWU6IGRhdGFiYXNlX3BlcnNpc3RlbmNlCiAgdGFnczogc3RhdGUsIGR5bmFtaWMsIHdv\ncmtsb2FkCiAgcGFzczU6IDUgCiAgcGFzczM6IDMgCiAgZmFpbDogLTEKLSBuYW1lOiBub2RlX2Ry\nYWluCiAgdGFnczogc3RhdGUsIGR5bmFtaWMsIHdvcmtsb2FkCgojLSBuYW1lOiBoYXJkd2FyZV9h\nbmRfc2NoZWR1bGluZwojICB0YWdzOiBoYXJkd2FyZSwgZHluYW1pYywgd29ya2xvYWQKIy0gbmFt\nZTogc3RhdGljX2FjY2Vzc2luZ19oYXJkd2FyZSAKIyAgdGFnczogaGFyZHdhcmUsIHN0YXRpYywg\nd29ya2xvYWQKIy0gbmFtZTogZHluYW1pY19hY2Nlc3NpbmdfaGFyZHdhcmUgCiMgIHRhZ3M6IGhh\ncmR3YXJlLCBkeW5hbWljLCB3b3JrbG9hZAojLSBuYW1lOiBkaXJlY3RfaHVnZXBhZ2VzCiMgIHRh\nZ3M6IGhhcmR3YXJlLCBkeW5hbWljLCB3b3JrbG9hZAojLSBuYW1lOiBwZXJmb3JtYW5jZQojICB0\nYWdzOiBoYXJkd2FyZSwgZHluYW1pYywgd29ya2xvYWQKCi0gbmFtZTogazhzX2NvbmZvcm1hbmNl\nCiAgdGFnczogcGxhdGZvcm0sIGR5bmFtaWMKLSBuYW1lOiB3b3JrZXJfcmVib290X3JlY292ZXJ5\nIAogIHRhZ3M6IHBsYXRmb3JtLCBwbGF0Zm9ybTpyZXNpbGllbmNlLCBkeW5hbWljCi0gbmFtZTog\nb2NpX2NvbXBsaWFudAogIHRhZ3M6IHBsYXRmb3JtLCBwbGF0Zm9ybTpoYXJkd2FyZV9hbmRfc2No\nZWR1bGluZywgZHluYW1pYwotIG5hbWU6IGNvbnRyb2xfcGxhbmVfaGFyZGVuaW5nCiAgdGFnczog\ncGxhdGZvcm0sIHBsYXRmb3JtOnNlY3VyaXR5LCBkeW5hbWljCi0gbmFtZTogY2x1c3Rlcl9hZG1p\nbgogIHRhZ3M6IHBsYXRmb3JtLCBwbGF0Zm9ybTpzZWN1cml0eSwgZHluYW1pYwotIG5hbWU6IGV4\ncG9zZWRfZGFzaGJvYXJkCiAgdGFnczogcGxhdGZvcm0sIHBsYXRmb3JtOnNlY3VyaXR5LCBkeW5h\nbWljCgotIG5hbWU6IHNlcnZpY2VfYWNjb3VudF9tYXBwaW5nCiAgdGFnczogc2VjdXJpdHksIGR5\nbmFtaWMsIHdvcmtsb2FkCgotIG5hbWU6IHByaXZpbGVnZWRfY29udGFpbmVycwogIHRhZ3M6IHNl\nY3VyaXR5LCBkeW5hbWljLCB3b3JrbG9hZAoKLSBuYW1lOiBuZXR3b3JrX3BvbGljaWVzCiAgdGFn\nczogc2VjdXJpdHksIGR5bmFtaWMsIHdvcmtsb2FkCgotIG5hbWU6IG5vbl9yb290X2NvbnRhaW5l\ncnMKICB0YWdzOiBzZWN1cml0eSwgZHluYW1pYywgd29ya2xvYWQKCi0gbmFtZTogaG9zdF9waWRf\naXBjX3ByaXZpbGVnZXMKICB0YWdzOiBzZWN1cml0eSwgZHluYW1pYywgd29ya2xvYWQKCi0gbmFt\nZTogbGludXhfaGFyZGVuaW5nCiAgdGFnczogc2VjdXJpdHksIGR5bmFtaWMsIHdvcmtsb2FkCgot\nIG5hbWU6IHJlc291cmNlX3BvbGljaWVzCiAgdGFnczogc2VjdXJpdHksIGR5bmFtaWMsIHdvcmts\nb2FkCgotIG5hbWU6IGltbXV0YWJsZV9maWxlX3N5c3RlbXMKICB0YWdzOiBzZWN1cml0eSwgZHlu\nYW1pYywgd29ya2xvYWQKCi0gbmFtZTogaG9zdHBhdGhfbW91bnRzCiAgdGFnczogc2VjdXJpdHks\nIGR5bmFtaWMsIHdvcmtsb2FkCgotIG5hbWU6IGluZ3Jlc3NfZWdyZXNzX2Jsb2NrZWQgCiAgdGFn\nczogc2VjdXJpdHksIGR5bmFtaWMsIHdvcmtsb2FkCgotIG5hbWU6IGluc2VjdXJlX2NhcGFiaWxp\ndGllcwogIHRhZ3M6IHNlY3VyaXR5LCBkeW5hbWljLCB3b3JrbG9hZAoKLSBuYW1lOiBkYW5nZXJv\ndXNfY2FwYWJpbGl0aWVzCiAgdGFnczogc2VjdXJpdHksIGR5bmFtaWMsIHdvcmtsb2FkCgotIG5h\nbWU6IHN5c2N0bHMKICB0YWdzOiBzZWN1cml0eSwgZHluYW1pYywgd29ya2xvYWQKCi0gbmFtZTog\nbG9nX291dHB1dAogIHRhZ3M6IG9ic2VydmFiaWxpdHksIGR5bmFtaWMsIHdvcmtsb2FkCi0gbmFt\nZTogcHJvbWV0aGV1c190cmFmZmljIAogIHRhZ3M6IG9ic2VydmFiaWxpdHksIGR5bmFtaWMsIHdv\ncmtsb2FkCiAgcGFzczogMTAKICBmYWlsOiAwIAotIG5hbWU6IG9wZW5fbWV0cmljcyAKICB0YWdz\nOiBvYnNlcnZhYmlsaXR5LCBkeW5hbWljLCB3b3JrbG9hZAogIHBhc3M6IDUgCiAgZmFpbDogMCAK\nLSBuYW1lOiByb3V0ZWRfbG9ncyAKICB0YWdzOiBvYnNlcnZhYmlsaXR5LCBkeW5hbWljLCB3b3Jr\nbG9hZAogIHBhc3M6IDUgCiAgZmFpbDogMCAKLSBuYW1lOiB0cmFjaW5nIAogIHRhZ3M6IG9ic2Vy\ndmFiaWxpdHksIGR5bmFtaWMsIHdvcmtsb2FkCiAgcGFzczogNSAKICBmYWlsOiAwIAotIG5hbWU6\nIGFscGhhX2s4c19hcGlzCiAgdGFnczogY29uZmlndXJhdGlvbiwgZHluYW1pYywgd29ya2xvYWQK\nCi0gbmFtZTogY29udGFpbmVyX3NvY2tfbW91bnRzCiAgdGFnczogc2VjdXJpdHksIGR5bmFtaWMs\nIHdvcmtsb2FkCgotIG5hbWU6IHJlcXVpcmVfbGFiZWxzCiAgdGFnczogY29uZmlndXJhdGlvbiwg\nZHluYW1pYywgd29ya2xvYWQKCi0gbmFtZTogaGVsbV90aWxsZXIKICB0YWdzOiBwbGF0Zm9ybSwg\ncGxhdGZvcm06c2VjdXJpdHksIGR5bmFtaWMKCi0gbmFtZTogZXh0ZXJuYWxfaXBzCiAgdGFnczog\nc2VjdXJpdHksIGR5bmFtaWMsIHdvcmtsb2FkCgotIG5hbWU6IHNlbGludXhfb3B0aW9ucwogIHRh\nZ3M6IHNlY3VyaXR5LCBkeW5hbWljLCB3b3JrbG9hZAoKLSBuYW1lOiBkZWZhdWx0X25hbWVzcGFj\nZQogIHRhZ3M6IGNvbmZpZ3VyYXRpb24sIGR5bmFtaWMsIHdvcmtsb2FkCgotIG5hbWU6IGxhdGVz\ndF90YWcKICB0YWdzOiBjb25maWd1cmF0aW9uLCBkeW5hbWljLCB3b3JrbG9hZAo=\n")
PRIVILEGED_WHITELIST_CONTAINERS = ["chaos-daemon", "cluster-tools"]
REASONABLE_STARTUP_BUFFER = 10.0
REBOOT_DAEMON = Base64.decode_string("YXBpVmVyc2lvbjogYXBwcy92MQpraW5kOiBEYWVtb25TZXQKbWV0YWRhdGE6CiAgICBuYW1lOiBy\nZWJvb3QKc3BlYzoKICBzZWxlY3RvcjoKICAgIG1hdGNoTGFiZWxzOgogICAgICBuYW1lOiByZWJv\nb3QKICB0ZW1wbGF0ZToKICAgIG1ldGFkYXRhOgogICAgICBsYWJlbHM6CiAgICAgICAgbmFtZTog\ncmVib290CiAgICBzcGVjOgogICAgICBjb250YWluZXJzOgogICAgICAgIC0gbmFtZTogcmVib290\nCiAgICAgICAgICBpbWFnZTogY29uZm9ybWFuY2UvcmVib290X2RhZW1vbjpsYXRlc3QKICAgICAg\nICAgIGNvbW1hbmQ6IFsiL2VudHJ5cG9pbnQuc2giXQogICAgICAgICAgdm9sdW1lTW91bnRzOgog\nICAgICAgICAgLSBtb3VudFBhdGg6IC9zeXNycQogICAgICAgICAgICBuYW1lOiBzeXNycS12b2x1\nbWUKICAgICAgdm9sdW1lczoKICAgICAgLSAgbmFtZTogc3lzcnEtdm9sdW1lCiAgICAgICAgIGhv\nc3RQYXRoOgogICAgICAgICAgIHBhdGg6IC9wcm9jL3N5c3JxLXRyaWdnZXIK\n")
SKIPPED = "skipped"
SONOBUOY_K8S_VERSION = "0.19.0"
SONOBUOY_OS = "linux"
TESTSUITE_NAMESPACE = "cnf-testsuite"
TOOLS_DIR = "tools"
VERBOSE_LOGGING = VerboseLogginGenerator.new

Method Summary

Method Detail

def acceptable_kubectl_version?(kubectl_response, verbose = false) #

Check if client version is not 3 minor versions behind server version


[View source]
def change_capacity(base_replicas, target_replica_count, args, config, resource = {kind: "", metadata: {name: ""}}) #

[View source]
def check_alpha(args) #

if the alpha flag or wip flag is true, then alpha tests should be run


[View source]
def check_alpha #

if the alpha flag or wip flag is true, then alpha tests should be run


[View source]
def check_beta(args) #

if the beta flag or alpha flag is true, then beta tests should be run


[View source]
def check_beta #

if the beta flag or alpha flag is true, then beta tests should be run


[View source]
def check_cnf_config(args) #

[View source]
def check_containerd #

[View source]
def check_destructive(args) #

[View source]
def check_destructive #

[View source]
def check_feature_level(args) #

check feature level e.g. --beta

if no feature level then feature level = ga


[View source]
def check_poc(args) #

[View source]
def check_poc #

[View source]
def check_verbose(args) #

[View source]
def check_wip(args) #

[View source]
def check_wip #

[View source]
def clusterctl_global_response(verbose = false) #

[View source]
def clusterctl_installation(verbose = false) #

todo collection in modules similar to ohai: https://github.com/chef/ohai


[View source]
def clusterctl_local_response(verbose = false) #

[View source]
def clusterctl_version(clusterctl_response, verbose = false) #

[View source]
def curl_global_response(verbose = false) #

[View source]
def curl_installation(verbose = false) #

[View source]
def curl_local_response(verbose = false) #

[View source]
def curl_version(curl_response, verbose = false) #

[View source]
def ensure_kubeconfig! #

[View source]
def git_global_response(verbose = false) #

[View source]
def git_installation(verbose = false) #

[View source]
def git_local_response(verbose = false) #

[View source]
def git_version(git_response, verbose = false) #

[View source]
def helm_global_response(verbose = false) #

[View source]
def helm_installation(verbose = false) #

TODO put this in a module


[View source]
def helm_local_response(verbose = false) #

[View source]
def helm_v2_version(helm_response) #

[View source]
def helm_v3_version(helm_response) #

[View source]
def helm_version(helm_response, verbose = false) #

[View source]
def image_pull(yml, offline) #

todo put this in bootstrap utils


[View source]
def increase_decrease_capacity_failure_msg(target_replicas, emoji) #

[View source]
def kubectl_global_response(verbose = false) #

[View source]
def kubectl_installation(verbose = false, offline_mode = false) #

[View source]
def kubectl_local_response(verbose = false) #

[View source]
def kubectl_version(kubectl_response, version_for = "client", verbose = false) #

Extracts Kubernetes client version or server version

version = kubectl_version(kubectl_response, "client")
version # => "1.12"

version = kubectl_version(kubectl_response, "server")
version # => "1.12"

For reference, below are example client and server version strings from "kubectl version" output

Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.0", GitCommit:"cb303e613a121a29364f75cc67d3d580833a7479", GitTreeState:"clean", BuildDate:"2021-04-08T16:31:21Z", GoVersion:"go1.16.1", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"clean", BuildDate:"2021-01-21T01:11:42Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}

TODO Function could be updated to rely on the JSON output of "kubectl version -o json" instead of regex parsing

Returns the version as a string (Example: 1.12, 1.20, etc)


[View source]
def local_helm_installed? #

[View source]
def log_formatter #

[View source]
def loglevel #

[View source]
def named_sha_list(resp_json) #

[View source]
def optional_key_as_string(totem_config, key_name) #

this method extracts a string value from a config section if it exists if the value is an integer it will be converted to a string before extraction


[View source]
def secrets_used_skipped_msg(emoji) #

[View source]
def setup_calico_cluster(cluster_name : String, offline : Bool) : KindManager::Cluster #

[View source]
def setup_cilium_cluster(cluster_name : String, offline : Bool) : KindManager::Cluster #

[View source]
def skopeo_digest(image) #

[View source]
def skopeo_sha_list(repo) #

[View source]
def skopeo_tags(repo) #

[View source]
def sonobuoy_details(cmd_path : String) #

[View source]
def stdout_failure(msg) #

[View source]
def stdout_info(msg) #

[View source]
def stdout_score(test_name, full_name) #

[View source]
def stdout_score(test_name) #

[View source]
def stdout_success(msg) #

[View source]
def stdout_warning(msg) #

[View source]
def toggle(toggle_name) #

[View source]
def tools_path #

[View source]
def update_yml(yml_file, top_level_key, value) #

[View source]
def upsert_dynamic_task(task, status : CNFManager::Points::Results::ResultStatus, message) #

[View source]
def upsert_failed_task(task, message) #

[View source]
def upsert_na_task(task, message) #

[View source]
def upsert_passed_task(task, message) #

[View source]
def upsert_skipped_task(task, message) #

[View source]
def version_less_than(v1str, v2str) #

compare 2 SemVer strings and return true if v1 is less than v2


[View source]
def wait_for_scaling(resource, target_replica_count, args) #

[View source]
def wget_global_response(verbose = false) #

[View source]
def wget_installation(verbose = false) #

[View source]
def wget_local_response(verbose = false) #

[View source]
def wget_version(wget_response, verbose = false) #

[View source]