Forum Discussion
Thanushka_Wije1
Nimbostratus
Jun 19, 2019Automated F5 LTM pre and post checks
Hi
I'm trying to automate F5 check using F5sdk, unfortunately I think that sdk retrieve virtual server details via .conf file.
Reason I'm telling that is from sdk I'm unable to retrieve F5 Availability.
Below is the script I'm using to print virtual server names,
from f5.bigip import ManagementRoot
# Connect to the BigIP
hostname = input("Please Enter F5 IP: ")
mgmt = ManagementRoot(hostname, "admin", "admin")
# Get a list of all pools on the BigIP and print their names and Availability
virtuals = mgmt.tm.ltm.virtuals.get_collection()
for virtuals in virtuals:
print(virtuals.name, virtuals.partition)
Anyone know how can I get availability status using F5 sdk ?
- Dario_Garrido
Noctilucent
Hello Thanushka.
Try this ->
devices = session.tm.cm.devices.get_collection() for device in devices: print("Device: {}".format(device.name)) print("State: {}".format(device.failoverState))
Output:
Device: bigip1.mydomain.local State: active Device: bigip2.mydomain.local State: standby
KR,
Dario.
- Thanushka_Wije1
Nimbostratus
Hi Dario
Thanks for the responses, but this will return device HA status not the virtual server (Availability). status..
- Dario_Garrido
Noctilucent
The availability of a virtual server resides in the stats
from f5.bigip import ManagementRoot from f5.utils.responses.handlers import Stats # ---------------------------------------------------------- session = ManagementRoot("F5_mgmt_IP","username","password",token=True) virtual = session.tm.ltm.virtuals.virtual.load(name='testVS') #https://<F5_mgmt_IP>/mgmt/tm/ltm/virtual/testVS virtualstats = Stats(virtual.stats.load()) #https://<F5_mgmt_IP>/mgmt/tm/ltm/virtual/testVS/stats for key, value in virtualstats.stat.items(): if value.get('description') != None: print("{}: {}".format(key, value.get('description'))) elif value.get('value') != None: print("{}: {}".format(key, value.get('value'))) # ----------------------------------------------------------
KR,
Dario.
- JG
Cumulonimbus
for virtual in virtuals: if hasattr(virtual, 'subPath'): subp = virtual.subPath else: subp = "" if (subp != ""): print("Name: '%s' AvailabilityState: '%s'" % (virtual.name, get_vs_state(virtual.name, subp))) else: print("Name: '%s' AvailabilityState: '%s'" % (virtual.name, get_vs_state(virtual.name, "")))
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects