Last updated on: 2024-04-01 03:24:20.

bigip_ucs – Manage upload, installation, and removal of UCS files

New in version 1.0.0.

Synopsis

  • Manage upload, installation, and removal of UCS files on a BIG-IP system. A user configuration set (UCS) is a backup file that contains BIG-IP configuration data that can be used to fully restore a BIG-IP system in the event of a failure or RMA replacement.

Parameters

Parameter Choices/Defaults Configuration Comments
force
boolean
    Choices:
  • no ←
  • yes
If true, the system uploads the file every time and replaces the file on the device. If false, the file is only uploaded if it does not already exist. Generally it should only be true in cases where you believe the image was corrupted during upload.
include_chassis_level_config
boolean
    Choices:
  • no
  • yes
During restoration of the UCS file, includes chassis level configuration that is shared among boot volume sets. For example, the cluster default configuration.
no_license
boolean
    Choices:
  • no
  • yes
Performs a full restore of the UCS file and all the files it contains, with the exception of the license file. This option must be used to restore a UCS on RMA (Returned Materials Authorization) devices.
no_platform_check
boolean
    Choices:
  • no
  • yes
Bypasses the platform check and allows installation of a UCS that was created using a different platform. By default (without this option), installation of a UCS created from a different platform is not allowed.
passphrase
string
Specifies the passphrase necessary to load the specified UCS file.
reset_trust
boolean
    Choices:
  • no
  • yes
When specified, the device and trust domain certificates and keys are not loaded from the UCS. Instead, a new set is generated.
state
string
    Choices:
  • absent
  • installed
  • present ←
When installed, ensures the UCS is uploaded and installed on the system. When present, ensures the UCS is uploaded. When absent, the UCS is removed from the system. When installed, the uploading of the UCS is idempotent, however the installation of that configuration is not idempotent.
task_id
string
added in 1.4.0
The ID of the async task as returned by the system in a previous module run.
Used to query the status of the task on the device, useful with longer running operations that require restarting services.
This parameter is only usable when state is installed
This parameter assumes a load ucs task has been started ond device, therefore it does not check for existence of the UCS file beforehand.
Adding this parameter incorrectly to a module run leads to confusing error messages. Refer to the examples section for correct usage of this parameter.
timeout
integer
added in 1.4.0
Default:
150
This parameter is used when installing uploaded UCS file on the device.
The amount of time to wait for the API async interface to complete its task, in seconds.
The accepted value range is between 150 and 1800 seconds.
ucs
string / required
The path to the UCS file to install. This parameter must be provided if the state is either installed or activated. When state is absent, the full path for this parameter is ignored and only the filename is used to select a UCS for removal. Therefore you could specify /foo/bar/test.ucs and this module would only look for test.ucs.

Notes

Note

  • Only the most basic checks are performed by this module. Other checks and considerations need to be taken into account. See https://support.f5.com/kb/en-us/solutions/public/11000/300/sol11318.html
  • This module does not handle devices with the FIPS 140 HSM.
  • This module does not handle BIG-IPs systems on the 6400, 6800, 8400, or 8800 hardware platforms.
  • This module does not verify the new or replaced SSH keys from the UCS file are synchronized between the BIG-IP system and the SCCP.
  • This module does not support the ‘rma’ option.
  • This module does not support restoring a UCS archive on a BIG-IP 1500, 3400, 4100, 6400, 6800, or 8400 hardware platforms other than the system from which the backup was created.
  • The UCS restore operation restores the full configuration only if the hostname of the target system matches the hostname on which the UCS archive was created. If the hostname does not match, only the shared configuration is restored.
  • This module does not support re-licensing a BIG-IP restored from a UCS.
  • This module does not support restoring encrypted archives on replacement RMA unit.

Examples

- name: Upload UCS
  bigip_ucs:
    ucs: /root/bigip.localhost.localdomain.ucs
    state: present

- name: Install (upload, install) UCS - start task
  bigip_ucs:
    ucs: /root/bigip.localhost.localdomain.ucs
    state: installed
    register: task

- name: Install (upload, install) UCS - check task
  bigip_ucs:
    ucs: "{{ task.ucs }}"
    task_id: "{{ task.task_id }}"
    timeout: 300

- name: Install (upload, install) UCS without installing the license portion - start task
  bigip_ucs:
    ucs: /root/bigip.localhost.localdomain.ucs
    no_license: true
    state: installed
    register: task

- name: Install (upload, install) UCS without installing the license portion - check task
  bigip_ucs:
    ucs: "{{ task.ucs }}"
    task_id: "{{ task.task_id }}"
    timeout: 300

- name: Install (upload, install) UCS except the license, and bypassing the platform check - start task
  bigip_ucs:
    ucs: /root/bigip.localhost.localdomain.ucs
    no_license: true
    no_platform_check: true
    state: installed
    register: task

- name: Install (upload, install) UCS except the license, and bypassing the platform check - check task
  bigip_ucs:
    ucs: "{{ task.ucs }}"
    task_id: "{{ task.task_id }}"
    timeout: 300

- name: Install (upload, install) UCS using a passphrase necessary to load the UCS - start task
  bigip_ucs:
    ucs: /root/bigip.localhost.localdomain.ucs
    passphrase: MyPassphrase1234
    state: installed
    register: task

- name: Install (upload, install) UCS using a passphrase necessary to load the UCS - check task
  bigip_ucs:
    ucs: "{{ task.ucs }}"
    task_id: "{{ task.task_id }}"
    timeout: 300

- name: Remove uploaded UCS file
  bigip_ucs:
    ucs: bigip.localhost.localdomain.ucs
    state: absent

Status

Authors

  • Wojciech Wypior (@wojtek0806)