f5networks.f5_modules.bigip_provision_async (1.28.0) — module

Manage BIG-IP module provisioning

| "added in version" 1.25.0 of f5networks.f5_modules"

Authors: Wojciech Wypior (@wojtek0806)

Install collection

Install with ansible-galaxy collection install f5networks.f5_modules:==1.28.0


Add to requirements.yml

  collections:
    - name: f5networks.f5_modules
      version: 1.28.0

Description

Manages BIG-IP module provisioning. This module will perform provisioning operations in an asynchronous way. See the Notes section for more information.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Provision GTM on the device
  bigip_provision_async:
    module: "gtm"
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Check for provision progress
  bigip_provision_async:
    module: "gtm"
    check_status: true
    status_timeout: 900
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  delegate_to: localhost
  register: status
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Wait for 3 minutes if device is restarting services
  bigip_wait:
    timeout: 180
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  delegate_to: localhost
  when:
    - result.message == "Device is restarting services, unable to check provisioning status."
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Re-check for provision progress
  bigip_provision_async:
    module: "gtm"
    check_status: true
    status_timeout: 900
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  delegate_to: localhost
  register: status
  when:
    - status.message == "Device is restarting services, unable to check provisioning status."
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Provision GTM on the device - Idempotent Check
  bigip_provision_async:
    module: "gtm"
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  delegate_to: localhost
  register: result
  when:
    - status.message == "Device has finished provisioning the requested module."
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Assert Provision GTM on the device - Idempotent Check
  assert:
    that:
      - result is not changed
  when:
    - status.message == "Device has finished provisioning the requested module."
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Provision VCMP on the device
  bigip_provision_async:
    module: "vcmp"
    level: "dedicated"
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Check for provision progress
  bigip_provision_async:
    module: "vcmp"
    level: "dedicated"
    check_status: true
    status_timeout: 900
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  delegate_to: localhost
  register: status
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Wait for 10 minutes if device is restarting services
  bigip_wait:
    timeout: 600
    type: vcmp
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  delegate_to: localhost
  when:
    - result.message == "Device is restarting services, unable to check provisioning status."
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Re-check for provision progress
  bigip_provision_async:
    module: "vcmp"
    level: "dedicated"
    check_status: true
    status_timeout: 900
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  delegate_to: localhost
  register: status
  when:
    - status.message == "Device is restarting services, unable to check provisioning status."
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Provision VCMP on the device - Idempotent Check
  bigip_provision_async:
    module: "vcmp"
    level: "dedicated"
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  register: result
  delegate_to: localhost
  when:
    - status.message == "Device has finished provisioning the requested module."
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Assert Provision VCMP on the device - Idempotent Check
  assert:
    that:
      - result is not changed
  when:
    - status.message == "Device has finished provisioning the requested module."
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: De-provision VCMP on the device
  bigip_provision_async:
    module: "vcmp"
    state: "absent"
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Check for de-provision progress
  bigip_provision_async:
    module: "vcmp"
    state: "absent"
    check_status: true
    status_timeout: 900
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  register: status
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Wait for 10 minutes if device is restarting services
  bigip_wait:
    timeout: 600
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  when:
    - result.message == "Device is restarting services, unable to check provisioning status."
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Re-check for de-provision progress
  bigip_provision_async:
    module: "vcmp"
    state: "absent"
    check_status: true
    status_timeout: 900
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  register: status
  when:
    - status.message == "Device is restarting services, unable to check provisioning status."
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: De-provision VCMP on the device - Idempotent Check
  bigip_provision_async:
    module: "vcmp"
    state: "absent"
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  register: result
  when:
    - status.message == "Device has finished de-provisioning the requested module."
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Assert Provision VCMP on the device - Idempotent Check
  assert:
    that:
      - result is not changed
  when:
    - status.message == "Device has finished de-provisioning the requested module."

Inputs

    
level:
    choices:
    - dedicated
    - nominal
    - minimum
    default: nominal
    description:
    - Sets the provisioning level for the requested modules. Changing the level for one
      module may require modifying the level of another module. For example, changing
      one module to C(dedicated) requires setting all others to C(none). Setting the level
      of a module to C(none) means the module is not activated.
    - Use a C(state) if B(absent) to set c(level) to none and de-provision the module.
    - This parameter is not relevant to C(cgnat - pre tmos 15.0) or C(mgmt) and will not
      be applied to the C(cgnat - pre tmos 15.0) or the C(mgmt) module.
    type: str

state:
    choices:
    - present
    - absent
    default: present
    description:
    - The state of the provisioned module on the system. If C(present), then that guarantees
      the specified module is provisioned at the requested level, provided there are sufficient
      resources on the device (such as physical RAM) to support the module.
    - If C(absent), then that de-provisions the module.
    - C(absent), is not an option for the C(mgmt) module, as it cannot be de-provisioned.
    type: str

memory:
    description:
    - Sets additional memory for the management module. This is in addition to the minimum
      allocated RAM of 1264MB.
    - The accepted value range is C(0 - 8192). Maximum value is restricted by the available
      RAM in the system.
    - Specifying C(large) reserves an additional 500MB for the mgmt module.
    - Specifying C(medium) reserves an additional 200MB for the mgmt module.
    - Specifying C(small) reserves no additional RAM for the mgmt module.
    - Use C(large) for configurations containing more than 2000 objects, or more specifically,
      for any configuration that exceeds 1000 objects per 2 GB of installed memory. Changing
      the Management C(mgmt) size after initial provisioning causes a re-provision operation.
    type: str

module:
    aliases:
    - name
    choices:
    - am
    - afm
    - apm
    - asm
    - avr
    - cgnat
    - fps
    - gtm
    - ilx
    - lc
    - ltm
    - mgmt
    - pem
    - sam
    - sslo
    - swg
    - urldb
    - vcmp
    description:
    - The module to provision in BIG-IP.
    required: true
    type: str

provider:
    description:
    - A dict object containing connection details.
    suboptions:
      auth_provider:
        description:
        - Configures the auth provider for to obtain authentication tokens from the remote
          device.
        - This option is really used when working with BIG-IQ devices.
        type: str
      no_f5_teem:
        default: false
        description:
        - If C(yes), TEEM telemetry data is not sent to F5.
        - You may omit this option by setting the environment variable C(F5_TELEMETRY_OFF).
        - Previously used variable C(F5_TEEM) is deprecated as its name was confusing.
        type: bool
      password:
        aliases:
        - pass
        - pwd
        description:
        - The password for the user account used to connect to the BIG-IP or the BIG-IQ.
        - You may omit this option by setting the environment variable C(F5_PASSWORD).
        required: true
        type: str
      server:
        description:
        - The BIG-IP host or the BIG-IQ host.
        - You may omit this option by setting the environment variable C(F5_SERVER).
        required: true
        type: str
      server_port:
        default: 443
        description:
        - The BIG-IP server port.
        - You may omit this option by setting the environment variable C(F5_SERVER_PORT).
        type: int
      timeout:
        description:
        - Specifies the timeout in seconds for communicating with the network device for
          either connecting or sending commands.  If the timeout is exceeded before the
          operation is completed, the module will error.
        type: int
      transport:
        choices:
        - rest
        default: rest
        description:
        - Configures the transport connection to use when connecting to the remote device.
        type: str
      user:
        description:
        - The username to connect to the BIG-IP or the BIG-IQ. This user must have administrative
          privileges on the device.
        - You may omit this option by setting the environment variable C(F5_USER).
        required: true
        type: str
      validate_certs:
        default: true
        description:
        - If C(no), SSL certificates are not validated. Use this only on personally controlled
          sites using self-signed certificates.
        - You may omit this option by setting the environment variable C(F5_VALIDATE_CERTS).
        type: bool
    type: dict
    version_added: 1.0.0
    version_added_collection: f5networks.f5_modules

check_status:
    default: false
    description:
    - If C(true), then the module will run to check provisioning progress.
    - Required parameter, if using the C(module) parameter.
    type: bool

status_timeout:
    default: 300
    description:
    - The amount of time in seconds to wait for provisioning process to finish.
    - The accepted value range is between C(150) and C(3600) seconds.
    - If the device needs to restart the module, then it will return with no change and
      an appropriate message. In such cases, you must pause the playbook execution, until
      the device is ready (see the C(EXAMPLES) section).
    type: int

Outputs

level:
  description: The new provisioning level of the module.
  returned: changed
  sample: minimum
  type: str
memory:
  description: The new provisioned amount of memory for the mgmt module.
  returned: changed
  sample: large
  type: str
message:
  description: Informative message of the ansible task status.
  returned: changed
  sample: hash/dictionary of values
  type: dict