devcentral mvp
3 Topics2019 DevCentral MVP Announcement
Congratulations to the 2019 DevCentral MVPs! The DevCentral MVP Award is given to a select group of exemplary people in the technical community who actively engage and share their experience and knowledge with others. We recognize their significant contributions to our community and the larger technical industry, and we want to say thank you. While all of our users collectively make DevCentral one of the top community sites around and a valuable resource for everyone, MVPs regularly go above and beyond in assisting fellow F5 users both on- and offline. It all starts with a single post… MVPs all get badges in their DevCentral profiles so everyone can see that they’re in the presence of greatness (you'll also see it if you hover over their name in a thread). This year’s MVPs will receive a certificate, award, and thank-you gift, access to select Beta programs, and the devout gratitude of the users they've helped as well as the DevCentral team here at F5. The 2019 DevCentral MVPs (by username) are: Andy McGrath Austin Geraci Boneyard De coug Fulmetal Hamish Marson Iaine jaikumar_f5 Jie Gao Jinshu Joel King Joel Newton JTI Kai Wilke Kees van den Bos Kevin Davies Lee Sutcliffe Leonardo Souza Manthey Mark Wall Nathan Britton Nicolas Destor Niels van Sluis Patrik Jonsson Philip Jönsson Piotr Lewandowski Rhazi Youssef Rob_carr Samir Jha Stanislas Piron Tim Rupp Vijay What Lies Beneath Yann Desmaret Make sure to check out theMVP page for more info about the program and the MVPs themselves. DevCentral MVPs – thank you for all your contributions!390Views0likes0CommentsBIGdiff - A Little Help For Software Upgrades
Published on behalf of DevCentral MVP Leonardo Souza If you have been to F5 Agility in Boston and went to my presentation, you should have already an idea of what I will talk about in this article, but you will learn more things, so continue reading. If you haven’t heard of BIGdiff yet, have you been living in Mars? Don’t worry I will explain what that is and how it can help you with software upgrades, and whatever you find useful. It is not an AI that will do the upgrade for you but will help you with the upgrade. Challenges These are the challenges BIGdiff addresses: You are upgrading a F5 device with 1,000 virtual servers and 1,000 wide IPs. How do you know if you have the same number of virtual servers and wide IPs after the upgrade? How do you know if you have the same number of available virtual servers and wide IPs after the upgrade? If the number of available virtual servers or wide IPs changed after upgrade, how can you find what changed? Existing Solutions First Challenge: There are multiple solutions already for this challenge. Both for LTM and GTM, you can take a print screen of the statistics before the upgrade and compare after the upgrade. For LTM, Statistics > Module Statistics > Local Traffic For GTM, Statistics > Module Statistics > DNS > GSLB This in 13.1.0.1, but I think this exist since v9, and will be in similar place in all versions. Qkview and iHealth combination. iHealth will show you configuration totals but is mainly LTM and does not show you GTM objects. Network Map is another option. However, network map is only for LTM. Also, that is a map that start from a virtual server, so if you have a pool that is not linked to a virtual server that will not count in the totals. Second Challenge: The statistics also tell you the status of the objects, so that solution works for both challenges. Third Challenge: There is no automated way to get this. You could run multiple tmsh commands to get the status before the upgrade, or just generate a qkview that will run those commands for you. However, you will still need to compare the objects one by one. If the only slot you got for the software upgrade was 3am in a Sunday, I am sure you will miss some objects or fall asleep. Solution I hope you are thinking about the same, computers don’t need to sleep, and they are better/faster than humans to compare 2 strings or numbers (that is basically 0 or 1, so they are not that smart). So, the conclusion is simple, let the computer do the work comparing objects while you drink another coffee to keep you awake to complete the software upgrade. The idea is simple, get the list of objects, and their respective status, before and after the software upgrade, then compare them and report the result. In this context, object is any entity that has a status in a BIG-IP device that may be affected by the software upgrade. Looking BIG-IP modules, that translate to LTM and GTM objects, for example, virtual servers and wide IPs. That is where BIGdiff script comes to help you and automate that process. You run BIGdiff before the upgrade, upgrade the device, and run again after the upgrade. The script will then generate a HTML file with the results. Technical Bits BIGdiff is a bash script and uses dialog program to generate the graphical menus. Dialog is a common program for CLI menus and is what F5 uses for the config command for example. The script uses snmpwalk to query locally the device for the object status, because so far has been the faster option I tested. That basically generates the same text file before and after the upgrade. Those text files that are used after to compare the objects. The script will generate the results in a HTML format, with tables. If something already exists and do the job well, there is no reason why not to use, so the script uses the TableFilter JavaScript library, that provide filter functionalities for HTML tables. You just need to have the JavaScript library file in the same folder that you have the HTML file, and the magic will happen. If you don’t need the filter functionality, you don’t need to have the JavaScript library, and static tables will be presented. The script is optimized to use mainly bash functionality, to be as faster as possible. I tested the script to compare 13 thousand objects, and it complete the task in a couple minutes. 13K objects is a really big configuration, so even if the device you plan to run the script has a large configuration, that will be just a couple minutes in your change window to run the script. Support The script only supports BIG-IP software, no support for EM or BIG-IQ. The reason is simple, there is no use case for those software. Versions 11.x.x/12.x.x/13.x.x/14.x.x were tested and are supported. As new versions are released, I will be testing to see if any change is needed to support that version. LTM objects are supported and will be listed even if LTM is not provisioned, as majority of the other modules do use LTM internally. GTM objects and partitions are also supported. Using BIGdiff Go to the code share link: BIGdiff Download the tablefilter.js file, if you want to use the table filter functionality as described above. Download the bigdiff.sh that is the script file. In the F5 device, create a folder in /shared/tmp, as /shared is shared between all volumes. Upload the file bigdiff.sh to the F5 device. Change the file permission to run: chmod +x bigdiff.sh Run the script: ./bigdiff.sh Run the script before the upgrade. Upgrade the F5 device. Run the script after the upgrade. Download the file ending in .html from the F5 device. Open the HTML file with your favourite browser. Make sure you have the tablefilter.js in the same folder as the HTML file, if you want the filter functionalities. Other Use Cases The reason I wrote the script was to help with the software upgrades, but you are not limited to software upgrades. You can use the script to compare the objects after you have done something, that can be an upgrade or something else. You can use the software for consolidations, for example 2 devices that will be replaced by a single device. You run the script in the old devices, merge the txt files that are created with the list of objects. Import the configuration in the new device, upload the script and merged txt file you created. Run the script in the new device, and the script will report to you if the objects have the same status as in the old devices. Another use case is for major changes. You can run the script, do the changes, and run the script again. The script will then tell you if you broke something. Silent Mode Silent mode is mainly to be used to integrate with other tools. The image above explains how to use. Conclusion Read the information in the code share page about know issues. I hope you find the script useful.970Views1like4CommentsCongratulations to the 2018 DevCentral MVPs!
We’re excited to announce 2018 DevCentral MVPs - our largest group of MVPs to date! The DevCentral MVP Award is given to a select group of exemplary people in the technical community who actively engage and share their experience and knowledge with others. We recognize their significant contributions to our community and the larger technical industry, and we want to say thank you. While all of our users collectively make DevCentral one of the top community sites around and a valuable resource for everyone, MVPs regularly go above and beyond in assisting others with their independent expertise. Besides rocking the MVP badge in their DevCentral profiles, this year’s MVPs will receive a certificate, award, and thank-you gift, access to select Beta programs, and are invited to attend and participate in Agility Boston as honored guests. The 2018 DevCentral MVPs (by username) are: Boneyard Hamish Marson Hannes Rapp JTI Jinshu Joel Newton Kai Wilke Kevin Davies Leonardo Souza MrPlastic Nathan Britton Niels Van Sluis Patrik Jonsson Piotr Lewandowski Rob_carr Stanislas Piron Steven Iveson Vijay Yann Desmarest Make sure to check out theMVP page for more info about the program and the MVPs themselves. 2018 MVPs – we salute and thank you, and we know the community at large thanks you as well!723Views0likes4Comments