You will find the following information:
The F5 Virtual Edition (VE) team developed the F5 BIG-IP Image Generator internally to do the following:
Create custom images from the .ISO file for F5 BIG-IP VE releases or for hot-fixes that are not available on the various public cloud marketplaces.
Provide pre-deployment file customization of BIG-IP (for example, SSH keys, trusted certificates, custom packages, and so forth).
Automatically publish images to public cloud providers:
Simplify deployment workflows, such as encrypting custom images in AWS (prevents launching an instance in the marketplace first).
It is your responsibility to:
This section provides prerequisites for running the F5 Image Generator, creating virtual images, and for supported cloud providers.
The following table lists system requirements for using the Image Generator to create virtualized images of the following supported BIG-IP ISO packages:
Component | Version | Recommended System Requirements |
---|---|---|
F5 BIG-IP Image Generator | 1.0 | - Memory: 4GB memory - Disk space: depends on number of images you want to create. See following BIG-IP VE system requirements. |
F5 BIG-IP VE | - BIG-IP 13.1.0.2+ (except Alibaba) - BIG-IP 14.X - BIG-IP 14.1.0.3+ (for Alibaba ONLY) - BIG-IP 15.X |
A minimum of 20GB per image The image generator uses sparse file systems, which results in local images that are smaller than deployed images. For more information about images and deployed image sizes, see the K14946 article. |
Open Virtualization Format Tool (ovftool) | 4.3.0 | If you deploy in VMware (ESX/i Server) or AWS cloud, you must install the ovftool for creating the virtual disk. |
The following table lists supported operating systems:
Operating System | Version | F5 IGT Version |
---|---|---|
Ubuntu (F5 Image Generator-validated) | 18.04 LTS operating system | 1.0+ |
Ubuntu (F5 Image Generator-validated) | 20.04 LTS operating system | 1.16+ |
Alpine (F5 Image Generator-validated) | 3.11.5 | 1.0-1.17 |
Alpine (F5 Image Generator-validated) | 3.15.4 | 1.18+ |
These operating systems require a unified setup script containing the following tools package:
The following table lists supported public and private cloud platforms as well as account setup requirements:
Cloud Provider | Requirements |
---|---|
Alibaba | BIG-IP 14.1.0.3+ and sufficient permissions to create or describe the following resources: - Credentials/API Keys - SSH Keys uploaded - Application credentials - OSS, Bucket storage container (See this Alibaba article for more Resource Access Manager (RAM) information.) |
AWS | Sufficient permissions to create or describe the following resources: - credentials/API Keys - S3 Bucket Storage Container - Install the ovftool for creating the virtual disk. - IAM Role with import permissions (See this AWS article for more VM Import Service Role information.) |
Azure | Sufficient permissions to create or describe the following resources: - Credentials/API Keys - Storage Container and storage connection strings (For more information, see this article about creating a service principle.) |
Google Cloud (GCE) | Sufficient permissions to create or describe the following resources: - Credentials/API Keys - Application credentials - Storage Container (See this GCE article for more service account information.) |
The following supported platforms require no specific configuration:
The Image Generator tool generates a virtual disk image from the BIG-IP product ISO. During the creation, you can specify a cloud provider. Doing so generates a virtual disk image, automatically uploads that disk to that cloud provider, and creates a virtual machine image. Options include:
F5 recommends running the Image Generator Tool in environments where virtualization is enabled (for example, AWS i3.metal instance or GCE's KVM licensing flag for instances).
Execution times differ between cloud providers, usually taking 5-20 minutes depending on the image size. The BIG-IP Image Generator will display a warning, if you run the script in an insufficient environment without virtualization support.
For more information about virtualization support, see KVM Virtualization.
Due to several required tools/SDKs to generate images, F5 Inc. recommends using a standalone machine/environment for the BIG-IP Image Generator. F5 provides a setup script to assist in setting up that environment. The script installs Python packages in a virtual environment to isolate them from the rest of the system; however, the script also installs other tools, such as zip, directly into the base environment. These packages are not downloaded from F5 repositories, but come from the respective project repositories. It is your responsibility to verify that these packages are safe to use.
This section provides steps for installing the generator tool, running the setup script, and building an image file. The setup script installs tools/SDKs required to generate images for all supported platforms, and takes several minutes to complete. During this setup process, certain services will require a restart.
Do one of the following to download the BIG-IP Image Generator source code to your Ubuntu VM:
Clone
$ git init
$ git clone https://github.com/f5devcentral/f5-bigip-image-generator.git
Or
$ git clone git@github.com:f5devcentral/f5-bigip-image-generator.git
$ cd f5-bigip-image-generator
$ git checkout v1.0
(Checkout the tag associated with the release version you want to install.)
Download from HTTPS
Point your browser to https://github.com/f5devcentral/f5-bigip-image-generator
, open the branch with the tag associated with the release you want to install, click Download, and then select the file type (zip or tar.gz) you want to download. Or, download using curl, for example:
curl -OL https://github.com/f5devcentral/f5-bigip-image-generator/archive/refs/tags/v1.16.zip
Type the following (this example uses tar.gz file type) to extract the source code:
unzip v1.16.zip
or
tar -xzvf v1.16.tar.gz
cd f5-bigip-image-generator-1.16
To run the setup script, type: ./setup-build-env
This script installs all tools required for all supported platforms.
To reduce the footprint required for development tools that you install based on the platform for which you are building, use the supported Platform variable options. For example:
./setup-build-env --qcow2
./setup-build-env --aws
./setup-build-env --vhd
Consult the User Guide for complete PLATFORM
parameter descriptions.
Other options include:
--add-dev-tools
- installs additional tools used during development, such as pylint, shellcheck, and batsRestart your computer, or log out, and then log back into your system.
To view the Image Generator operating environment type:
./build-image --info
This will collect information such as, installed software on the build machine.
To build the image, type:
$ ./build-image -i ~/images/BIGIP-15.1.4-0.0.47.iso -p qcow2 -m ltm -b 1
To build an image using a configuration file, see the User Guide.
Alternatively, to avoid installing programs to your environment and enable running simultaneous image-builds on the same computer, you can utilize the F5 container on Docker Hub that provides a convenient pre-built runtime with many of the tool’s package dependencies pre-installed (with the exception of VMware’s ovftool). For complete information, consult Docker Hub.
This section provides steps for creating a config.yaml file that defines frequently used settings and shared variables that the BIG-IP Image Generator will use for creating custom images, running the Image Generator tool, and then customizing log details for monitoring progress.
Before creating your configuration file for generating your image, consult the K14946 article about image disk sizes for BIG-IP VE versions and template types. For example:
To define the LTM and ALL templates, use the MODULES parameter in the following table, and to define the 1SLOT or 2SLOT use the BOOT_LOCATIONS parameter in the following table.
Create a config.yaml for frequently used settings and shared variables. The BIG-IP Image Generator will only use the variable definitions applicable to the specified provider and ignores other variables.
Define the following shared parameters or set as an environment variable. Optionally, use these parameters on the command line with leading dashes (for example, --platform
). In some cases, you can use a shorthand flag. If a parameter is defined in multiple places, then the priority in descending order is:
command line > configuration file > environment variable. To access the Image Generator help file, run -h/--help
.
Parameter | Flag | Required | Values | Description |
---|---|---|---|---|
ADD_OVA_EULA | No | Full path or URL to a text-based EULA that you want added to VMware OVA images. | ||
ARTIFACTS_DIR | No | Enter a directory (either absolute or relative path) where newly created artifacts will reside. If blank, the tool will auto-create this directory. | ||
BOOT_LOCATIONS | -b | Yes | [1\2] | Number of boot locations used in the source ISO file. |
CLOUD_IMAGE_NAME | No | [value] | The name of the generated cloud image. The name is subject to cloud provider naming restrictions and is not guaranteed to succeed. If you provide no name, then one is generated automatically based on the detected properties of the source ISO file. | |
CONFIG_FILE | -c | No | [value] | Full path to a YAML configuration file containing a list of parameter key/value pairs used during image generation. |
CONSOLE_DEVICES | No | [value] | Used to identify the locally attached devices to your generated VE image. The default value ttyS0 is required to build images. Start numbering your serial devices/consoles using ttyS1 . |
|
DISABLE_SPLASH | No | [value] | Used to disable the boot screen, which can cause automation processes to stall. | |
DISABLE_TELEMETRY | No | [value] | Disable the telemetry feature used to collect platform and usage information for product improvement purposes. When disabled, data is stored locally for debugging purposes. | |
EHF_ISO | -e | No | [value] | Full path or URL to an engineering hotfix ISO file for installation on top of the existing ISO file. |
EHF_ISO_SIG | -x | No | [value] | Full path or URL to an engineering hotfix ISO signature file used to validate the engineering hotfix ISO. |
HELP | -h | No | Print help and usage information, and then exit the program. | |
IGNORE_DOWNLOAD_URL_TLS | No | Ignore TSL certificate verification when downloading files. | ||
IMAGE_DIR | No | [value] | The directory where you want generated images to reside. Provide either an absolute path or a relative path. If this directory does not exist, the tool will create it. | |
HYPERVISOR_IMAGE_NAME | No | [value] | Name of the generated non-cloud image. If blank, then a name is generated automatically, based on the detected properties of the source ISO file. | |
IMAGE_SIG_ENCRYPTION_TYPE | No | [value] | Encryption type to use when signing images. | |
IMAGE_SIG_PRIVATE_KEY | No | [value] | Path to private key file used to sign images. | |
IMAGE_SIG_PUBLIC_KEY | No | [value] | Path to public key file used to verify images. | |
IMAGE_TAGS | No | [value] | List of key value pairs to set as tags/labels for the image. | |
IMAGE_TAGS_EXCLUDE | No | [value] | List of keys to exclude from the tags/labels for the image. | |
INFO | No | [value] | Display image generator environment information. | |
ISO | -i | Yes | [value] | Full path or URL to a BIG-IP ISO file used as a basis for image generation. |
ISO_SIG | -s | No | [value] | Full path or URL to an ISO signature file used to validate the ISO. |
ISO_SIG_VERIFICATION_ENCRYPTION_TYPE | No | [value] | Encryption type to use when signing/verifying ISO or Virtual disks | |
ISO_SIG_VERIFICATION_PUBLIC_KEY | No | [value] | Path to public key file used to verify an ISO. | |
LOG_FILE | No | [value] | Log filename that overrides the default log filename created in the logs directory. You can use a full path, directory, or filename. If full path, then the log file uses the full path. If directory, then the image generator creates a new log file in the specified directory. If filename, then the tool creates a log file in the logs directory using the specified filename. | |
LOG_LEVEL | No | [CRITICAL \ ERROR \ WARNING \ INFO \ DEBUG \ TRACE] | Log level to use for the log file, indicating the lowest message severity level that can appear in the log file. | |
MODULES | -m | Yes | [all\ltm] | BIG-IP components supported by the specified image. |
NO_UPLOAD | No | Create the cloud image without uploading to the cloud. | ||
OUTPUT_JSON_FILE | No | [value] | Define this parameter to produce an output json file with image build environment information (for example, image name and image ID) by providing the json filename and/or path. | |
OVA_PROP_NET_USER | No | [value] | Adds a block of text into the .ovf file, enabling VMware to apply the mgmt IP and passwords. The script will check for the following BIG-IP versions that support IPv6: 14.1.4.1+, 15.1.3+, 16.0.1.1+, and 16.1+ | |
PLATFORM | -p | Yes | [alibaba \ aws \ azure \ gce \ qcow2 \ vhd \ vmware] | The target platform for generated images. |
REUSE | No | Keep\Reuse local files created by previous runs of the same [PLATFORM, MODULES, BOOT_LOCATIONS] combination. | ||
UPDATE_IMAGE_FILES | No | [value] | Files you want injected into the image. For each of the injections, REQUIRED values include source (file, directory, or URL) and destination (absolute full path), and an OPTIONAL mode (a string of file chmod permissions flag consisting of 1-4 octal digits for read/write/execute). | |
UPDATE_LV_SIZES | No | [value] | Increase the sizes (MiB) of the following logical volumes (LV): appdata, config, log, shared, and var. This is a dictionary mapping the LV name to the new LV size. Define the size using an integer representing the number of MiBs (for example, "appdata":32000). | |
VERSION | -v | No | Print version information, and then exit the program. |
When specifying a cloud provider, supply the following provider-specific information:
The following platforms do not currently require platform-specific configuration:
OPTIONAL: The Image Generator tool can inject additional files (for example, keys, certs, language extension (lx) packages like Declarative Onboarding startup scripts, and optionally designate file permissions into the virtual disk image to allow for image customization. You can do this using the command line; however, the syntax is simpler using the configuration file:
UPDATE_IMAGE_FILES:
- source: "/home/ubuntu/custom/trusted-ca.pem"
destination: "/config/ssl/ssl.crt/trusted-ca.pem"
- source: "/home/ubuntu/custom/authorized_keys"
destination: "/home/admin/.ssh/authorized_keys"
- source: "https://github.com/F5Networks/f5-declarative-onboarding/releases/download/v1.27.0/f5-declarative-onboarding-1.27.0-6.noarch.rpm"
destination: "/var/config/rest/downloads/f5-declarative-onboarding-1.27.0-6.noarch.rpm"
- source: "https://github.com/F5Networks/f5-appsvcs-extension/releases/download//v3.34.0/f5-appsvcs-3.34.0-4.noarch.rpm"
destination: "/var/config/rest/downloads/f5-appsvcs-3.34.0-4.noarch.rpm"
- source: "https://github.com/F5Networks/f5-telemetry-streaming/releases/download/v1.26.0/f5-telemetry-1.26.0-3.noarch.rpm"
destination: "/var/config/rest/downloads/f5-telemetry-1.26.0-3.noarch.rpm"
- source: "https://github.com/F5Networks/f5-bigip-runtime-init/releases/download/1.4.1/f5-bigip-runtime-init-1.4.1-1.gz.run"
destination: "/var/config/rest/downloads/f5-bigip-runtime-init-1.4.1-1.gz.run"
- source: "/home/ubuntu/custom/startup-script.sh"
destination: "/config/cloud/startup-script.sh"
mode: "0755"
- source: "/home/ubuntu/custom/startup"
destination: "/config/startup"
Avoid overwriting existing system related files unless directed by F5 Inc. Place these additional files in typical locations where you store customizations. For example, place files in the /var/config/rest/downloads/
directory where they can be included in the user configuration set (UCS) file or in the /shared
directory, so each slot can access the customizations. Otherwise, you will lose these changes during an upgrade. For more information about UCS, see the file inclusion into UCS archives topic on AskF5.
OPTIONAL: The default behavior of the Image Generator does NOT attempt to use previously created local artifacts, and with each subsequent generation, all files are cleaned/removed. To override the default behavior and enable reuse of local files, use the --reuse
option. If you receive an error during file-upload to a cloud provider while using the --reuse
option, then only the cloud portion of image generation will rerun for a subsequent image generation. Be aware that if you have already generated the virtual disk during previous runs, then using any disk-altering parameters will not be picked up on subsequent uses of the -–reuse
variable.
Example:
To benefit from the --reuse
parameter, you must run the Image Generator at least twice using the --reuse
parameter for the same [PLATFORM, MODULES, BOOT_LOCATIONS] combination. In the first run, --reuse
parameter will guarantee that the intermediary files are preserved. In the second run (when necessary), the --reuse
parameter enables consumption of the intermediary files.
./build-image --reuse -i /var/tmp/BIGIP-15.0.0-0.0.39.iso -c config.yml -p qcow2 -m ltm -b 1 --image-tag "Name: my-custom-vm-v12.1.1" --image-tag "org: shared-services"
./build-image --reuse -i /var/tmp/BIGIP-15.0.0-0.0.39.iso -c config.yml -p qcow2 -m ltm -b 1 --image-tag "Name: my-custom-vm-v12.1.1" --image-tag "org: shared-services"
.For debugging purposes, this tool captures the contents of the PLATFORM, MODULES, BOOT_LOCATIONS artifacts directory in a .snapshot.zip
file (excluding large binary files). Find this .snapshot.zip
file in the same directory as the log file (for example, logs/image-qcow2-ltm-1slot
for log file and logs/image-qcow2-ltm-1slot.snapshot.zip
for the artifact files).
OPTIONAL: You can assign image tags to published images; however, rules for image tag definitions change depending upon the target, cloud provider (Alibaba, AWS, Azure, and GCE ).
Currently, the Image Generator tool does not validate for each cloud provider's image tag:key
and image tag:value
pairing. Therefore, if you do NOT
properly define your image tag:key/value
pair for the target cloud platform, then your image is created, but your image will not have the tags that
you defined. To define image tags, consult one of the following examples:
Configuration file (recommended):
IMAGE_TAGS:
- name: "my-custom-ami-v15.0.0"
- org: "shared-services"
- project: "alpha"
IMAGE_TAGS_EXCLUDE:
- build_source
- build_type
- version_basebuild
- version_build
- version_edition
- version_version
Command line:
–-image-tags ‘{"name":"my-custom-ami-v15.0.0"},{"org":"shared-services"},{"project":"alpha"}’
--image-tags-exclude '["build_source","build_type","version_basebuild","version_build","version_edition","version_version"]'
OPTIONAL: If you experience disk size limitations, then increase logical volume sizes for your configurations by using the UPDATE_LV_SIZES variable for the following logical volumes (ONLY):
For example, if you use multiple extensions on an instance that defaults to 500Mb, then you may want to increase the var
LV size to 1.5GiB. Type:
Configuration file (recommended):
UPDATE_LV_SIZES: >-
{
"var": 1500
}
Command line:
–-update-lv-sizes '{"var":1500}'
You can increase the size of these five logical volumes ONLY and only at the first boot location. Also, be aware that increasing these logical volume sizes will increase the overall disk size.
For example, if running multiple modules, then in your configuration file add the following to update all LVs:
Configuration file (recommended):
UPDATE_LV_SIZES: >-
{
"appdata": 32000,
"config": 3500,
"log": 4500,
"shared": 22000,
"var": 5500
}
Command line:
-–update-lv-sizes '{"appdata":32000,"config":3500,"log":4500,"shared":22000,"var":5500}'
Note that these size values are examples only. To calculate the increased LV sizes for your needs, first find your base, reference LV size.
a. From either F5 Downloads or a public cloud Marketplace, launch the base BIG-IP VE image file for your environment.
b. Type:
lvs --units m
OPTIONAL: Onboard VMware OVA files ONLY using the --ova-prop-net-user
directive. This directive uses the OVA Properties file to streamline onboarding by injecting a block of text that contains onboard network (mgmt IP) and user (password) properties into the .ovf file that resides within the .ova file. Use file injection to back the onboarding RPMs into the image, similar to step 4 in this User guide.
For example:
./build-image -i /var/tmp/BIGIP-15.1.1-0.0.6.iso -c config.yml -p vmware -m ltm -b 1 --ova-prop-net-user
OPTIONAL: To update the grub.conf
file and bake the following changes into your generated VE image:
--disable-splash
to disable the boot screen, which can stall automation processes. Add the following to your config file: DISABLE_SPLASH: 1
.Enable serial console – use console-devices ['ttyS1','tty1']
for identifying locally-attached peripheral devices. The default value ttyS0
is required to build images. Start numbering your serial devices/consoles using ttyS1
. Add the following to your config file, and all existing console entries are replaced with your defined console devices (use one console=
for each entry):
CONSOLE_DEVICES:
- ttyS1
- tty1
image-PLATFORM-MODULES-BOOT_LOCATIONS
(for example, image-gce-ltm-1slot). --log-level
parameter.You can locate files in the following directories:
images
directory. Use the IMAGE_DIR
parameter to override this default value and store images in a different directory.LOG_FILE
parameter can be used to override this default value. Default log file name is based on platform, modules, and boot locations.This section provides troubleshooting information for setting up the environment and running the Image Generator tool, as well as common issues with supported cloud providers.
Selinux relabel error
Inserting VM installation environment for 'RTM' -- elapsed time: 0:00:57
qemu-system installing RTM Image -- start time: 15:07:15
..........................................................................................
qemu-system installing RTM Image -- elapsed time: 0:07:31
qemu-system performing selinux relabeling -- start time: 15:14:46
.........................
qemu-system performing selinux relabeling -- elapsed time: 0:02:05
SELinux labeling failed or skipped. Check /home/user1/dev/ve-image-generator/src/lib/bash/../../../artifacts/BIGIP-13.1.5-0.0.32/gce/ltm_1slot/tmp.QgbFigOMVN/qemu.selinux_relabeling.log for complete logs
Wrote config to: /home/user1/dev/ve-image-generator/src/lib/bash/../../../artifacts/BIGIP-13.1.5-0.0.32/gce/ltm_1slot/build_config.json
Outputting json file has not been requested.
Solution
This error message can occur using Image Generator Tool (IGT) versions 1.14 and later, building BIG-IP VE 13.1.X images. If you experience this error, use IGT version 1.13.
Low disk space:
At least 20000 MB storage is needed. Only <space remaining> MB found.
Solution:
Free up local disk space, so you have more than 20GB (20000 MB) free.
Docker error message:
Temporary location for injected files: '/workdir/artifacts/BIGIP-15.1.0-0.0.31/aws/ltm_1slot/tmp.CgrVUToDbf/stage.initrd/etc/injected_files'
Collecting information about installed software on the build machine
copy 'authorized_keys' to a temporary location for '/home/admin/.ssh/authorized_keys'
Invalid URL 'authorized_keys': No schema supplied.
Solution:
You see this message when your asset files reside in a local directory, or a relative directory from where you are running the Docker command. Relocate your asset files to a Docker file directory or mount a different volume and include those files in the volume BEFORE building your image.
Setup error message:
The virtual environment was not created successfully because ensurepip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package using the following command.
apt-get install python3-venv
Solution:
You see this error, when you have not run the Setup Script. Run the setup script.
Environment error message:
qemu-system-x86_64: cannot set up guest memory 'pc.ram': Cannot allocate memory
Solution:
You see this error when you run in an environment with minimal memory. Increase memory for the environment.
Environment error message:
Watchdog timer expired! (7201 seconds).
Killing 'qemu' with pid 6073!
Further explanation:
The 'qemu' process should complete within a reasonable amount of time.
If it does not, then we kill it to prevent it from blocking the build
process indefinitely. It is likely this is an intermittent issue and
the next build will complete successfully.
Solution:
Likely caused by either running in an environment that does not support virtualization or running in a lightweight environment. See Prerequisites.
Missing packages error message:
Traceback (most recent call last):
File "/home/ubuntu/ve-image-generator/src/lib/bash/../../bin/read_injected_files.py", line 22, in <module>
from util.injected_files import read_injected_files
File "/home/ubuntu/ve-image-generator/src/lib/python/util/injected_files.py", line 24, in <module>
import distro
Solution:
It is possible that the setup script encountered an error and did not complete, or was run as a different user. Run the setup script again, and then review the output.
KVM permissions error message:
Could not access KVM kernel module: Permission denied
qemu-system-x86_64: failed to initialize KVM: Permission denied
Solutions:
Restart your system or log out and back in to your system.
Check that the user is in the kvm group in:
/etc/group
kvm:x:115:ubuntu
Shows user ubuntu in the kvm group.
Check that the permissions is correct in the following file:
/lib/udev/rules.d/60-qemu-system-common.rules
(KERNEL=="kvm", GROUP="kvm", MODE="0666"
)
Check that the following is NOT present:
/var/run/reboot-required
You may have run the setup script, and ignored the reboot message.
Runtime error message:
AWS error message:
The service role <vmimport> does not exist or does not have sufficient permissions for the service to continue.
Solution:
AWS requires an IAM Role with import permissions (see the AWS User Guide for more information).
VMware and AWS error message:
ovftool isn't installed or missing from PATH. Please install it before trying again.
Solution:
Download and install the ovftool before trying again.
Although the F5 BIG-IP Image Generator Tool is community-supported, the VE instances deployed from the images generated by this tool are supported by F5 Support.
To report defects and security vulnerabilties, or submit enhancements and general questions open an issue within the GitHub repository.
All known issues are now on the GitHub Issues tab for better tracking and visibility. Sort the issues list by expanding the Label column and selecting Known issue.
This section contains sample configuration code and output data referenced elsewhere in this document.
{
"Operation": {
"bootLocations": "1",
"consoleDevicesInput": "tty7 console=tty12 console=ttyS0",
"disableSplash": null,
"endTime": null,
"module": "ltm",
"nestedVirtualization": "enabled",
"platform": "vhd",
"product": "BIG-IP",
"productBaseBuild": "0.0.1420",
"productBuild": "0.0.1420",
"productVersion": "16.0.0",
"result": null,
"resultSummary": "",
"startTime": "2022-07-08T17:29:09",
"updateImageFiles": "disabled",
"updateLvSizes": "disabled"
},
"additional": {
"gitHash": "5ddb6213b2c1655f570942a5d5a2fe664793873c"
},
"environment": {
"goVersion": null,
"libraries": {
"git": "git version 2.25.1",
"ssh": "OpenSSH_8.2p1 Ubuntu-4ubuntu0.5, OpenSSL 1.1.1f 31 Mar 2020"
},
"nodeVersion": null,
"pythonVersion": "3.8.10",
"pythonVersionDetailed": "3.8.10 (default, Mar 15 2022, 12:22:08) \n[GCC 9.4.0]"
},
"platform": {
"os": "Ubuntu 20.04.4 LTS"
},
"product": {
"installDate": "2020-05-10 23:37:25.355259",
"installationId": "fde0cdd8-d0d6-11e9-8307-0242ac110002",
"installedComponents": {
"alibaba": {
"aliyun-python-sdk-core": "2.13.33",
"aliyun-python-sdk-ecs": "4.23.11",
"oss2": "2.14.0"
},
"aws": {
"boto3": "1.23.10",
"moto": "3.1.14"
},
"azure": {
"azure-mgmt-compute": "26.1.0",
"azure-storage-blob": "12.11.0"
},
"gcp": {
"google-cloud-sdk": "not installed"
},
"miscPythonTools": {
"distro": "1.5.0",
"pycdlib": "1.11.0"
},
"pythonRequests": {
"requests": "2.25.0"
},
"retryPackage": {
"retry": "0.9.2"
},
"verifyingCodeTools": {
"anybadge": "not found",
"bats": "1.1.0+git104-g1c83a1b-1",
"bc": "1.07.1-2build1",
"dc": "1.07.1-2build1",
"git": "1:2.25.1-1ubuntu3.4",
"kmod": "27-1ubuntu2.1",
"parted": "3.3-4ubuntu0.20.04.1",
"pylint": "2.4.4-2",
"shellcheck": "0.7.0-2build2",
"udev": "245.4-4ubuntu3.17"
},
"yaml": {
"pyyaml": "5.4.1",
"yq": "2.12.0"
}
},
"locale": "en_US.UTF-8",
"version": "1.19"
}
}
Copyright (C) 2019-2022 F5 Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Individuals or business entities who contribute to this project must have completed and submitted the F5 Contributor License Agreement.