Coder Social home page Coder Social logo

f5-upgrade's Introduction

F5 Upgrader

Requirements

The F5 Ansible collection is required.

To install the most recent version run ansible-galaxy collection install f5networks.f5_modules

See https://clouddocs.f5.com/products/orchestration/ansible/devel/usage/getting_started.html for details.

Configuration

Configuration (as provided) is done in the hosts.ini file.

Each host needs a "reboot group" variable. This allows for clusters to be upgraded one at a time for a rolling upgrade. Set to 0 to disable the activation task, leaving the new image uploaded and installed ready for a manual activation and reboot.

Adjust the image name and location (on local system) to suit.

If you want to install the new image to a definite boot location then define the variable dest_boot_loc to have the name of the desired boot location. If not defined then playbook will check the first two boot locations and pick the first one which is not currently active.

Usage

ansible-playbook -i hosts.ini upgrade.yaml

Error Conditions

The playbook will exit on any failure in the softwware activation tasks. This is to avoid taking out both members of a cluster.

Investigate any hosts that have reported a problem, and re-run the playbook to continue. It will move quickly through tasks that were already done and proceed with remaining upgrades.

I have found an issue where the bigip_software_install tasks can fail while waiting for the management interface to be available after a reboot. Increasing the timeout in the provider did not resolve this.

f5-upgrade's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

f5-upgrade's Issues

How does the new installed volume know to install the current configuration?

When you activate a boot location in the GUI you can select "Install Configuration->Yes-> Source Volume"

Otherwise the F5 will boot up with the default config. Where do you specify this?

Don't see it here:

- name: Group 1 Activate Image (Will Cause Reboot)
  bigip_software_install:
    provider: "{{ provider }}"
    image: "{{ new_image }}"
    state: activated
    volume: "{{ dest_boot_loc }}"
  any_errors_fatal: true

Issue with reboot_group

Error says reboot_group is undefinded. I have the reboot_group=1 in my inventory

[LANDEVLB7_107]
LANDEVLB7.dev.site reboot_group=1
LANDEVLB107.dev.site reboot_group=2

plabook host definition looks like this,

  • hosts:
    - LANDEVLB7.dev.site
    - LANDEVLB107.dev.site

Fails at bigip_image_upload

Ansible version is 2.9.11, python version is 2.7.5.

The issue is when trying to upgrade from 13.1.3.0.0.6 to 14.1.2.6-0.0.2. The error I'm getting is "Failed to create resource" . I have confirmed the ios is in the directory my playbook is pointing at and the permissions for the file are the same as the 13.1.3.0.0.6. I'm not sure what else I can check.

The full traceback is:
WARNING: The below traceback may not be related to the actual failure.
File "/tmp/ansible_bigip_software_image_payload_AaiSxc/ansible_bigip_software_image_payload.zip/ansible/modules/network/f5/bigip_software_image.py", line 472, in main
File "/tmp/ansible_bigip_software_image_payload_AaiSxc/ansible_bigip_software_image_payload.zip/ansible/modules/network/f5/bigip_software_image.py", line 258, in exec_module
File "/tmp/ansible_bigip_software_image_payload_AaiSxc/ansible_bigip_software_image_payload.zip/ansible/modules/network/f5/bigip_software_image.py", line 281, in present
File "/tmp/ansible_bigip_software_image_payload_AaiSxc/ansible_bigip_software_image_payload.zip/ansible/modules/network/f5/bigip_software_image.py", line 388, in create
fatal: [JTCILBL5005.entmconn.site]: FAILED! => {
"changed": false,
"invocation": {
"module_args": {
"force": null,
"image": "/automation/ansible/playbooks/f5/files/BIGIP-14.1.2.6-0.0.2.iso",
"provider": {
"auth_provider": null,
"password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"server": "xxxxxxxxxxxxxxx",
"server_port": 443,
"ssh_keyfile": null,
"timeout": 1800,
"transport": "rest",
"user": "xxxxxxx",
"validate_certs": false
},
"state": "present"
}
},
"msg": "Failed to create the resource."
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.