iworkflow
54 TopicsWhat is iWorkflow?
tl;dr - F5's iWorkflow is no longer a supported product and is superceeded by Application Services 3 Extension (AS3). For more AS3 information please see Application Services 3 Extension Documentation . Vocabulary To understand iWorkflow we need to define a few terms that will show up in the product: Clouds - The connectors for BIG-IP ADC services to iWorkflow. Use by Service Templates to connect Tenants to iApps. Tenants - A permission-defined role within iWorkflow. Tenants map users and user groups to service templates through cloud assignments. iApp Templates - Application templates used in deployment and management of multiple ADC features and objects. iApp templates deployed in iWorkflow are used to create one or more Service Templates. Service Templates - Service Templates are the customer visible options of an iApp available for deployment within a specific cloud connection. L4-L7 Services - These are the deployed from service templates by the tenants of iWorkflow. How It Works iWorkflow consolidates BIG-IP environments into a REST API accessible solution for your orchestration system. Managing access and services are made through role-based access controls (RBAC). Using iApps, orchestration providers will deploy applications through iApp-defined service catalogs. iWorkflow maintains the connections to your cloud and on-premise BIG-IP infrastructure and manages the access that each business unit will need to successfully deploy one or more applications. iWorkflow installs to your preferred virtual environment connects via F5's iControlREST API to existing BIG-IP ADC services through one of the following: Existing L3 Connections (Datacenter/AWS/Azure/3rd Party Cloud Providers) Cisco APIC VMWare NSX BIG-IP Virtual Clustered Multiprocessing (vCMP) iWorkflow administrators will create a service catalog for his users to access through their orchestration providers or directly through the iWorkflow GUI. An high level deployment workflow is shown below. Using iControlREST for interfacing with BIG-IP and your orchestration providers, iWorkflow allows BIG-IP to participate in fast Agile DevOps workflows. RBAC allows security, network, and development teams access to their areas of administration all controlled by iWorkflow. For further reading on how iWorkflow integrates into your existing infrastructure and development plans, please review the below links. If there is more you would like to see related to iWorkflow please drop us a line and we'll be happy to assist. iWorkflow on DevCentral - The best repository for all things iWorkflow (Requires Login) iApp Template Development Tips and Techniques(Requires Login) iWorkflow 101 and 201 Series on Youtube (relax and learn to the sweet satin sounds of Nathan Pearce)3.4KViews1like0CommentsDoes anyone have an questions about F5 iWorkflow?
If you're looking to understand what all the noise is about, here are some links to help get you started: The iWorkflow Wiki home page This is where we will post all of the API documentation and example code to help you achieve new levels of programmable infrastructure driven automation and orchestration. https://devcentral.f5.com/wiki/iWorkflow.HomePage.ashx iWorkflow 101 Series The first episode titled "The Architecture Explained" has been posted. Read this to understand the various elements that will help you speed application deployments, simplify architecture, and reduce exposure to operational risk. https://devcentral.f5.com/articles/iworkflow-101-episode-1-the-architecture-explained-17866 Any other questions? Please don't hesitate to ask! We're here to help! Thanks, Nathan2.2KViews0likes36CommentsiWorkflow 201 (episode #01) - Introducing the iControl REST API
Welcome to the first episode in the iWorkflow 201 series. The iWorkflow 101 series focussed on the GUI-driven operation of the iWorkflow platform whereas the 201 series focuses on performing tasks via the iControl REST API. This first episode is dedicated to those not familiar with using APIs but wanting to make that leap from GUI or Command-line Interface (CLI) management. Consequently, most of the episode will be focussed on introducing the tools you need, with some lessons on how to use them. Finally, at the end of the episode we’ll make our first API call to the iWorkflow platform. Background Reading If this is your first time venturing away from the GUI/CLI, or maybe you just want a refresh, I recommend you watch this great REST API introduction video posted byWebConcepts. In this video you'll see how you can communicate with popular on-line services including Facebook, Google Maps, and Instagram via their REST APIs: It really is that straight forward. In short, you’re using the internet, but not through the traditional web browser. So, now you understand the importance of a REST API, lets move onto the tools. The toolset Introducing POSTMAN! POSTMAN is a Google Chrome browser application. Its great for getting to know REST API’s as it requires no scripting languages. It is a pure REST client. No, it is not the only REST tool out there. However, its supported on a number of platforms and is very straight forward. For your convenience, following are the POSTMAN Setup and Intro instruction videos: POSTMAN Install POSTMAN API Response Viewer iWorkflow iControl REST API Introduction Ok, you’ve got the tools installed and are now are ready to go. So, lets now move on to F5’s RESTful API implementation which is callediControl REST. You will notice, on DevCentral, that there is also a SOAP/XML version of iControl. We implemented this on BIG-IP devices, back in 2001–before REST existed and before iWorkflow. Hence, the BIG-IP device has both the iControl SOAP API and the iControl REST API. iWorkflow, on the other hand, only supports F5’siControl REST framework. Also worth noting, the iWorkflow platform communicates with BIG-IP devices using the BIG-IP iControl REST API. If you watched the video iniWorkflow 101 (episode #02) - Install and Setupyou will have noticed that the iWorkflow platform updates the BIG-IP REST Framework on older BIG-IP versions that require it. In that video I was communicating with BIG-IP version 11.6 so the REST Framework update was performed. The lab environment NOTE: While we will look at iWorkflow Clusters in a future 201 REST API episode it is not important in this episode and all communication will be with iworkflow1.n8lab.local on 10.128.1.130 First Contact Just as in the 1996 feature-length Star Trek episode “Star Trek: First Contact", its time to query the iWorkflow platform. And our first URI to call will be for a list of devices known to iWorkflow. The URI: https://10.128.1.130/mgmt/shared/resolver/device-groups/cm-cloud-managed-devices/devices Lets start off by posting this request into POSTMAN. If you hit send before providing the login credentials then you will receive the following: This is to be expected. You can provide the login credentials under the Authorization tab just below the request URL as show in the following diagram: With those details added, run the query again and you should receive a JSON response like the following. In this diagram we can see properties of the iWorkflow platform: Scrolling further down you can also see the BIG-IP and the other two iWorkflow platforms from the iWorkflow cluster. Here it is in a video: Summary Congratulations!! You’re now talking to your iWorkflow platform via its iControl REST API. If you cannot wait for the next episode, where we will deploy and application services policy via REST, you may want to start looking at the iWorkflow API Reference at the bottom of this page on DevCentral:https://devcentral.f5.com/s/wiki/iWorkflow.HomePage.ashx UPDATE: if you want to grab a POSTMAN collection to import into your environment, visit my GitHub page here1.1KViews0likes3CommentsApplication services template with iworkflow issue
Hi I am trying to deploy configuration via the appsvcs_integration_v2.0.004.tmpl and iworkflow (trial) and I am getting some issues getting it working. Can you anyone assist thanks? ASO create on remote device:/mgmt/shared/resolver/device-groups/cm-cloud-managed-devices/devices/e2519a1a-a753-4270-b18a-6a0e65caddcf failed with error:$HttpException: status:400, body:{"code":400,"message":"Failed to POST iApp service 'test12': java.lang.IllegalStateException: script did not successfully complete: (\"replace-all-with\" unknown property\n while executing\n\"tmsh::create [string range $args 7 end] \"\n (\"create\" arm line 1)\n invoked from within\n\"switch -exact -- [string range $args 0 5] {\n create { tmsh::create [string range $args 7 end] }\n modify { tmsh::modify [string r...\"\n (procedure \"iapp_conf\" line 14)\n invoked from within\n\"iapp_conf create ltm pool ${app}_pool [iapp_substa pool_ramp_pga_arr878Views0likes9CommentsDelete and Service from iWorkflow when BIG-IP is not reachable
How to delete an ASO from an iWorkflow when the Placement is in status "ERROR_IN_DELETION"? In version 2.3.0 iWorlflow will not let you delete the service until you "Update the service by issuing a PUT or a PATCH to bring the service state out of ERROR_IN_DELETION". I put the above in quotes because I copied it from the "Remove service" section of: https://devcentral.f5.com/wiki/iWorkflow.APIRef_cm_cloud_tenants_tenant-name_services_iapp.ashx I found that the directions are not very complete and almost impossible to follow. It seems like they do not work unless you are able to delete the Service very quick after changing the status. This is very hard to manually. I have already solved this problem by writing a script but I am posting this question here so I can make it available to others that may be hitting this problem. If you are hitting this issue you can get the script from github: https://github.com/tthomas0702/iwf_aso_deleteSolved742Views0likes2CommentsiWorkflow 101 (episode #1) - The Architecture Explained [End of Life]
The F5 and Cisco APIC integration based on the device package and iWorkflow is End Of Life. The latest integration is based on the Cisco AppCenter named ‘F5 ACI ServiceCenter’. Visit https://f5.com/cisco for updated information on the integration. F5® iWorkflow™ accelerates the deployment of applications and services while reducing exposure to operational risk. The iWorkflow™ 101 series has been created to share common workflows for the purpose of accelerating your organizations journey towards integration, automation, and continuous deployment.In episode #1 of the iWorkflow™ 101 series we take a high-level look at the various themes and components of the iWorkflow™ platform to aid in understanding its operation. Who’s it for? iWorkflow™ is for anyone interested in: the rapid deployment of performance, high-availability, and security policy the simplification of policy execution through abstraction of complexity extending continuous deployment practices to include scalability and security reducing exposure to operational risk These points hold true whether you’re a traditional infrastructure administrator managing F5 BIG-IP’s directly, a platform architect or engineer responsible for presenting resources to business units, or an application architect or developer looking to rapidly deploy new apps and services as part of the continuous deployment pipeline, while ensuring they remain fast, highly-available, and secure. Architectural Walkthrough New theme’s introduced in this episode: Application Services Application Services Templates Services Template Catalogues Tenants Clouds Workflows Application Services If you are familiar with F5 BIG-IP’s then you already know about Application Services. If not, they are the Layer 4 – 7 features and functions delivered by the BIG-IP application delivery controller. Such application services include: High-availability monitoring and resilience Load-balancing DNS Services DDoS mitigation Application/Data security Access control Scaling and optimization Context switching / app routing and much more. For more information on application delivery controllers and the services they both provide please visit: F5® BIG-IP Application Services Templates An application services template defines a configuration, while accepting deployment-specific information at the time of execution. At this stage its important to introduce theDeclarative Model, and a simple way to explain this is to talk about McDonalds… When you enter a McDonalds restaurant you are presented with a range of meal options. Lets say you were to choose a Big Mac meal, which includes fries and a soft drink. The “meal" itself is the template: you get a Big Mac, fries, and a soft drink. Sure, you can choose which soft drink you get (cola, lemonade, water), you can even select a dipping sauce (ketchup, honey mustard, sweet chili, etc), but you are not required to define the Big Mac, nor are you able to order items outside of the meal options–try asking for a Pizza instead of Fries! The declarative model provides an abstraction to the meal creation process alleviating the customer from much the complexity. In contrast to the declarative model we have the imperative model. Using the McDonalds scenario again, an imperative model would require that you order every single ingredient individually, in addition to explaining how they are prepared, and how they are put together to make the meal. Back to Services Templates, the declarative model allows for infrastructure administrators and architects to define sets of common deployment configurations and expose such templates to teams that may not be skilled in application delivery policy.Organizations can then realize the benefits of advanced functionality while avoiding lengthy deployment delays, as such an architecture eliminates the need for business units to become experts in every technology. Instead, approved, repeatable policies can be deployed directly by operations staff, or by 3rd party orchestration systems, at the time of application deployment. In 2011, F5® released iApps (F5’s application services templates) to eliminate much of the manual process and repetition involved in configuring the BIG-IP application delivery controller. For more information on the benefits of services templates, please read: “Why you need service templates”. For technical details on F5 iApps, navigate here. Services Template Catalogue A Services Template Catalogue presents the application services templates to the deployment staff. The deployment could be performed manually by an employee via the iWorkflow™ GUI, or by 3 rd party systems communicating with the iWorkflow™ iControl REST API. In either scenario, both the administrator and 3rd party system are interfacing with the Services Template Catalogue. Connectors The connectors provide the communication between iWorkflow and other systems. For example, the local BIG-IP connector provides a tenant with destination BIG-IP’s upon which to deploy policy. The Cisco APIC and VMware NSX connectors provide for the deployment of BIG-IP application services within Cisco ACI and VMware NSX environments. Lastly, the Integration SDK, allows organizations to build their own integrations and functionality. Tenants A services template catalogue, and the destination devices and environments, are presented through the iWorkflow™ Tenant feature. Consider a Tenant as a grouping of Application Services Templates, Connectors, Devices, and the Users and Groups with the appropriate permissions to deploy application services upon them. Such a grouping vastly simplifies the management of fine-grained access control, while limiting the user’s exposure to the complexity of the environment. Workflows In the context of iWorkflow™, workflows are the end-to-end execution of a system’s or operator’s intent to deploy policy. In the case of an iWorkflow Tenant, the execution starts directly with iWorkflow™, via the GUI or iWorkflow™ REST API. However, in the case of a 3rd party system the workflow starts from within that system which executes the application services template deployment through iWorkflow™. Workflow walkthrough Stitching these themes together, following is a step-by-step walkthrough of a simple workflow: When talking about workflows we start with the intent, and work through to the executed policy. This intent could be that of a 3 rd party system, or of an iWorkflow Operator manually deploy an iApp. With that in mind, referring to the number diagram above, lets now walk through the various elements of a workflow: To the administrators and 3 rd party systems from which iWorkflow™ takes instruction, there are two interfaces: a) the iWorkflow™ GUI, and b) the iWorkflow™ iControl REST API. The iControl REST API may be interfaced by 3rd party systems or by sys-admins using various scripting options or desktop REST API clients. Detailed examples of using each will be provided in future iWorkflow 101 episodes found here on DevCentral: iWorkflow Home The “Service Template Catalogue” presents the local, administrator-defined services templates that have been permitted for the tenant. Exactly which options are configurable at the time of deployment, within each template, is predetermined by the iWorkflow™ administrator. Consequently, the simplicity, or complexity, of each template, and how they are implemented per iWorkflow tenant, is extensively configurable to match an organizations requirements. The “Services Templates” themselves, the F5 iApps, that are presented via the “Service Template Catalogue”. How much of their functionality that is exposed via the Service Template Catalogue is configurable, and thus simplifying how administrators can accommodate the varying capabilities of the iWorkflow Operators: be they 3 rd party systems or sys-admins. The iWorkflow™ platform itself that hosts the Services Templates, the presentation of the Service Template Catalogue, and the iWorkflow™ Connectors, while also managing the multi-tenancy, role-based access control, and what elements of which templates should be exposed where and to whom. Its quite amazing, really! iWorkflow™ communicates with the BIG-IP ADC’s via the BIG-IP iControl REST API. The F5 BIG-IP Application Delivery Controllers (ADCs) themselves. These devices, physical or virtual, consume the performance, availability, and security policies that were defined by the services templates, and enforce that desired behavior. The Provider / Tenant model There are two distinct iWorkflow™ personas: the iWorkflow Administrator, and of the iWorkflow Tenant. The iWorkflow™ administrator creates and manages the various objects of the iWorkflow™ platform that arerequired to execute a workflow. Once configured, these object are provided to the tenants. Such objects include: BIG-IP Devices Connectors Services Template Catalogues Users/Groups Tenants Licenses The iWorkflow™ Administrator is not able to create, delete or modify these objects. The role of the Tenant is to execute the deployment of performance, high-availability, and security policies via the service template catalogue, as configured/permitted by theiWorkflow™ Administrator. This is typically referred to as a Provider/Tenant model. iWorkflow Administrator As shown in the diagram below (top right corner), the “admin” user is logged in and that user is an iWorkflow™ Administrator. An administrator has the ability to add BIG-IP Devices, create Connectors, add Catalogue entries, and more. iWorkflow Tenant In this example the user “user1” is logged in. Note that it no-longer states that an “Administrator” is logged in, as per the previous image (in the top right-hand corner). In this example, the iWorkflow Tenant has been configured with access to the “myConn1”, local Connector. “user1” does not have the ability to create, delete, or modify Connectors. Only to deploy pre-determined policy to BIG-IP Devices via the "myConn1” connector. Summary Using application services templates, organizations can eliminate repetitive effort during deployments. This enables them to accelerate time to market for new applications and services, reduce exposure to operational risk, and enable infrastructure consumers (the business) to self-serve: deliver performance, high-availability, and security policy at speed. For more information, return to the DevCentraliWorkflow Homepage.716Views0likes4CommentsClustering iWorkflow
hi, i have a problem with putting 3 iworkflow devices in Cluster. The devices are clean, with no data on. Every i tried to fullfill the " ip, admin user , password " fields it shows me a prompt : "You must update the device's framework before you can manage it". Any suggestions?685Views0likes6CommentsTesting network bandwidth with and without F5 connection.
I wanted to test network bandwidth using iperf tool with and without F5 connection. Without F5 is straightforward. With F5 : I added the node I wanted to test, Created a Pool with service port for iperf (5201 in my case) and the node that I added, Selected the icmp for health monitoring, Created the VIP with the same service port and selected the pool that I created for iperf. But when I tested using the VIP the client failed to connect to the server. I'm a newbie to F5. Not sure what I am missing. Please help!599Views0likes2CommentsiWorkflow application deployment issue
Hi all, I'm trying iWorkflow in a Lab environment. Importing an iApp template and creating a service went well (but different than the 101 iWorkflow video's). But when trying to deploy an Application, it wont work. The error message it's throwing me is: Application Service unhealthy: unable to retrieve health status from device, No resources to place the app and Cloud has 1 devices associated but none qualified. Request help from iWorkflow administrator. I checked everything i could find on Wiki or other places. NTP is in sync and so on. What do i have to do to get this thing working ? Creating for example a VLAN from iWorkflow to Big-IP works fine. Hope somebody can help me out here ! Regards, RenéSolved575Views0likes10CommentsiWorkflow Application Service unhealthy after deploying applications on tenant GUI
Hello Nathan, our customer has some 50 F5s (incl vCMPs) in their datacenters and are looking for ways to bulk provision/automate services deployment. Their ultimate vision is orchestration but they are not ready yet. So we're looking for some kind of intermediate automation solution. And recently I've been hearing about F5 iWorkflow and going through your 101 and 201 series, good stuff by the way. I managed to get eval F5-BIG-VE-BT-1G-V13-LIC (running 11.6.1 HF1) and iWorkflow VE POC-10 (running 2.0.2 build 0.0.10077). All went well until after deploying applications on tenant GUI they are all getting status: "Application Service unhealthy: unable to retrieve health status from device, No resources to place the app". This happens despite of having connectivity to the BIG-IP VE (using BIG-IP connector). I'm not quite sure if the tenant's user should also be existed in the F5, so I added this user but it didn't make any different. These log entries keep appearing on restjavad.0.log, might be related? [I][1641][30 Nov 2016 21:47:43 UTC][RestRequestReceiver] Rest worker uri not found: /mgmt/shared/pipeline/manager/shared-authz-users-admin/992bcf81-b0f0-4de9-a418-57b79ba4691a/cm-shared-config-current-cloud-net-self/retrieve[I][1643][30 Nov 2016 21:47:43 UTC][RestRequestReceiver] Rest worker uri not found: /mgmt/shared/pipeline/manager/shared-authz-users-admin/c06cb89b-b480-4458-aa0d-c90beffdaa0b/cm-shared-config-current-cloud-net-interface/retrieve[I][1645][30 Nov 2016 21:47:43 UTC][RestRequestReceiver] Rest worker uri not found: /mgmt/shared/pipeline/manager/shared-authz-users-admin/10893b65-5b9c-4218-a887-e51594b210b1/cm-shared-config-current-cloud-net-vlan/retrieve[I][1669][30 Nov 2016 21:51:18 UTC][8100/shared/pipeline/manager/shared-authz-users-admin/a5354e8a-0c6f-41d7-93a5-9293cd3e71e2 PipelineManagerTaskWorker] failed to register for worker notifications: (URI path /cm/shared/device-health-source/analyzer/subscriptions not registered. Please verify URI is supported and wait for /available suffix to be responsive.)[I][1679][30 Nov 2016 21:51:18 UTC][8100/shared/pipeline/manager/shared-authz-users-admin/a5354e8a-0c6f-41d7-93a5-9293cd3e71e2 PipelineManagerTaskWorker] failed to register for worker notifications: (URI path /cm/shared/device-health-source/analyzer/subscriptions not registered. Please verify URI is supported and wait for /available suffix to be responsive.) I've tried to open up F5 websupport case but apparently it does not valid for eval products. Would be great if you can give some idea where it might go wrong. Thanks!509Views0likes4Comments