Using iControl-REST API
Hi, we are using the iControl SOAP API for quite some time. For the next refactoring of our application we are very interested in the REST api to simplify things a little. Looking through the responses on our LTM 11.4.1 some questions did arise as to its useability: Example Response for a VirtualServer: { "kind": "tm:ltm:virtual:virtualstate", "name": "servicemanager-443", "generation": 0, "lastUpdatedMicros": 0, "selfLink": "https:\/\/localhost\/mgmt\/tm\/ltm\/virtual\/servicemanager-443?$partition=\/iaas-prod\/", "partition": "\/iaas-prod\/", "autoLasthop": "default", "cmpEnabled": "yes", "connectionLimit": 0, "destination": "10.67.76.30:https", "enabled": null, "gtmScore": 0, "ipProtocol": "tcp", "mask": "255.255.255.255", "mirror": "disabled", "mobileAppTunnel": "disabled", "nat64": "disabled", "pool": "servicemanager-green", "rateLimit": "disabled", "rateLimitDstMask": 0, "rateLimitMode": "object", "rateLimitSrcMask": 0, "source": "0.0.0.0\/0", "sourceAddressTranslation": { "type": "automap" }, "sourcePort": "preserve", "synCookieStatus": "not-activated", "translateAddress": "enabled", "translatePort": "enabled", "vlansDisabled": null, "vsIndex": 2, "persist": [ { "name": "\/Common\/source_addr", "default": "yes" } ], "profilesReference": { "link": "https:\/\/localhost\/mgmt\/tm\/ltm\/virtual\/servicemanager-443\/profiles?$partition=\/iaas-prod\/" }, "rulesReference": { "link": "https:\/\/localhost\/mgmt\/tm\/ltm\/virtual\/servicemanager-443\/rules?$partition=\/iaas-prod\/" } } All HTTP URLs presented either as self link or Reference are not pointing to the hostname the request was made to but "localhost", which means before using them one needs to manually replace the host? The destination field contains the human readable protocol name for well known ports "destination": "10.67.76.30:https" instead of "destination": "10.67.76.30:443", which imho is questionable in an api, since one has to parse content which should already be machine readable. References to objects in the current partition, like pool in my example, are referenced witchout the path while objects in the common partition are referenced as /Common/object except when the current partion is /Common which seems a little inconsistent ? When passing the partiton as ?$partition=/name the api request returns the correct partition but when using the proper URL-Encoded string ?%24partition%3D%2Fname%0A the parameter is ignored and objects are always returned from the Common partition, which breaks a lot of rest api frameworks, since they tend to properly encode urls before passing them on to the HTTP handler? *When calling the profilesReference one gets the folowing answer: { "kind": "tm:ltm:virtual:profiles:profilesstate", "name": "servicemanager", "generation": 0, "lastUpdatedMicros": 0, "selfLink": "https:\/\/localhost\/mgmt\/tm\/ltm\/virtual\/servicemanager-443\/profiles\/servicemanager?$partition= \/iaas-prod\/", "context": "clientside" } With all profiles having the "kind": "tm:ltm:virtual:profiles:profilesstate" which means the answer does not contain any way to figure out which profile type it actually is, for example from this information it would not be possible to see if it is a ssl-client or a tcp profile, should this not give a list of profiles with refrerences to the actual profiles object ? Are those issues known or is this simply the way the api should work? Kind Regards Martin383Views0likes4CommentsI want to get the top cpu(us+sy),
I want to get the top cpu(us+sy),which api i can use? [root@bigip6400-prd-1:Standby] config top top - 14:01:44 up 14 days, 23:59, 1 user, load average: 0.73, 0.88, 0.81 Tasks: 188 total, 1 running, 187 sleeping, 0 stopped, 0 zombie Cpu(s): 5.6%us, 2.6%sy, 0.0%ni, 91.8%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 8177568k total, 8094360k used, 83208k free, 353576k buffers Swap: 1048504k total, 380k used, 1048124k free, 254628k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6273 root RT 0 1771m 31m 22m S 7.3 0.4 1420:51 tmm 6272 root RT 0 1771m 31m 22m S 6.3 0.4 1299:24 tmm324Views0likes2CommentsException Rewriting javascript
Hello, I have a application that load javascript on the APM with Portal Access and full patching. The application loads on the mobile devices and the loading is long, due to the rewriting of JavaScripts. I believe this is due to the resource restrictions on the mobile devices to handle/process large content. There are not links on the JavaScripts, then we do not need to patch it. I want to disable the rewrite for the JavaScripts I create Irule: when HTTP_RESPONSE { if { [matchclass $my_uri_SAP contains my_uri_SAP] && [HTTP::header "Content-Type" ] contains "javascript"} { REWRITE::disable } } It's not working fine 😞 At which event flow APM, I must to insert the rewrite::disable ? Or disable the process of rewrite. Thanks you in advance. Best Regards,444Views0likes1Commentregarding remove SIP Route header,Please help to confirm the iRule.
in qkview info, we could see the current irule rule SIP-forward { when SIP_REQUEST_SEND { SIP::header insert "Record-Route" "" } when SIP_RESPONSE_SEND { if { [SIP::header "Record-Route"] ne "" }{ SIP::header remove "Record- Route" SIP::header insert "Record- Route" "" } } what we need is the following The flow is like the following 1) IMS NE send invite request to F5 INVITE sip:callee@domain.com SIP/2.0 Contact: sip:caller@u1.example.com Record-Route: 2) When F5 recives the invite request , it will add one record-Route which is itself and send to VMS INVITE sip:callee@domain.com SIP/2.0 Contact: sip:caller@u1.example.com Record-Route: Record-Route: This is controlled by the irule when SIP_REQUEST_SEND { SIP::header insert "Record-Route" "" } 3) VMS response and the header will have a Route like the following Route: , sip:10.153.0.11;lr;Dpt=7ba4_116;Role=3;CxtId=4;spln=S;X-HwB2bUaCookie=732;TRC=5b38-5b39”. 10.22.4.135 is F5 internal float IP self 10.22.4.135 { netmask 255.255.255.192 unit 1 floating enable vlan Internal_SIP allow default } 4) F5 send the response to IMS , but IMS could not handle this "Route:,sip:10.153.0.11;lr;Dpt=7ba4_116;Role=3;CxtId=4;spln=S;XHwB2bUaCookie=732;TRC=5b38-5b39”." IMS want Route:sip:10.153.0.11;lr;Dpt=7ba4_116;Role=3;CxtId=4;spln=S;X-HwB2bUaCookie=732;TRC=5b38-5b39”. so we need to remove "," from the Route header.428Views0likes0Commentsf5-lbaasv-1.0.10 agent configuration to test single tenant f5 lbaas with openstack
I am trying F5 LBaaSv1 VERSION 1.0.10 driver and agent to provision the pool,vip and pool member into bigip ltm 11.6 VE launched as openstack vm. Here are below steps i have followed. 1. launched bigip ltm vm with 3 interfaces. 2. interface eth0 is management interface . 3. I performed below steps from UI of bigip vm and datapath work for lbaas. 3.1.SNAT Creation SNAT is created with following configuration. Translation Automap Origin All Ipv4 addresses VLAN / Tunnel Traffic ALL 3.2. Created 2 vlan Untagged tunnel. Internal : Interface 1.1(eth1) with ip 51.0.0.4 is for internal network(network b/w pool member and bigip vm) External : Interface 1.2(eth2) is with ip 61.0.0.4 for vip (external network) 3.3 Created 2 selfip selfip 51.0.0.4 created for internal tunnel selfip 61.0.0.4 created for external tunnel 3.4. Created virtual server with destination ip 61.0.0.4. 3.5. Created pool and added 2 pool member (51.0.0.9, 51.0.0.10) 3.6. Launched vm on 61.0.0.0/24 network address and sent curl request to vip 61.0.0.4 and datapath work. Now i want to provision above steps with f5-oslbaas-agent,agent run with f5-oslbaasv1-agent.ini,That has many configurable options,which are the option i need to fill to test single tanant f5lbaas.Any thoughts on this??231Views0likes0CommentsiRule to bypass the logon page by automatically filling USER ID and Password by F5.
Dear Devcentral Team, Thank you in advance for your great support always, I am stuck in one requirement from the client where I am not able to proceed because of this, please find the below requirement. 1)User will login to the first URL either on http or https. If user is login on the http URL then he need to automatically redirect to https and this is working fine please find the below URL and iRule for the same. http://agentdev.customer.com https://agentde.customer.com if {([HTTP::host] contains "agentdev.customer.com")} { HTTP::redirect "https://[HTTP::host][HTTP::uri]" } After redirection we need to replace the original HOST with different HOST, and that is also working fine. https://agentdev.customer.com http://de3sapr3.customer.com:8046/sap/bc/webdynpro/sap/zbe_agent_summary_app if {[string tolower [HTTP::host]] eq "agentdev.customer.com"} { HTTP::header replace "Host" "de3sapr3.customer.com:8046" if {([HTTP::path] eq "/")} { HTTP::uri "/sap/bc/webdynpro/sap/zbe_agent_summary_app" } pool XYZ } I am getting the log-on page when I successfully getting in the above URL. When I enter the UID and password in above page I am getting the below URL. https://agentdev.customer.com/sap/bc/webdynpro/sap/zbe_agent_summary_app?amp%3bsap-user=USER&%3bsap-password=%20%20%20%20%20%20%20%20%20%20&%3bsap-language=EN&sap-client=004&sap-language=EN I need to modify above iRule in such a way that the first logon page will automatically get the default global UID and password which is same for all the users and go directly to second logon page. Default UID: USER Password: password Please help me to get this done. Thanks is advance.398Views0likes3CommentsHow to use "Proxy Host" and "Proxy Port" on the Portal Access Setting
Hi, Can you please let me know how to use "Proxy Host" and "Proxy Port" options on the Portal Access setting. Only port 80 can use Proxy? [Case1] * work fine. Application URI - http://www.test.com/ Proxy Host - proxy.test.com Proxy Port - 8080 Resource Item - Hostname:*, Paths:/*, Port:80 [Case2] * work NOT fine. (It does NOT access to the Proxy) Application URI - http://www.test.com:50000/ Proxy Host - proxy.test.com Proxy Port - 8080 Resource Item - Hostname:*, Paths:/*, Port:50000 Regards,286Views0likes1Commentcan somebody help me to change below IIS code to iRule please.
https://bidev-joris.company.com/irj/portal">https://bidev-joris.company.com/irj/portal" appendquerystring="false"> https://bidev-joris.company.com/{R:0}"> http://bodsapr3.company.com:8080/">http://bodsapr3.company.com:8080/">">http://bodsapr3.company.com:8080/">">http://bodsapr3.company.com:8080/">">http://bodsapr3.company.com:8080/{R:0}?service=/common/appService.do&appKind=InfoView&isNewWindow=true&newUrl=">http://bodsapr3.company.com:8080/">">http://bodsapr3.company.com:8080/">">http://bodsapr3.company.com:8080/">">http://bodsapr3.company.com:8080/{C:1}" appendquerystring="false" logrewrittenurl="true"> http://bodsapr3.company.com:8080/">http://bodsapr3.company.com:8080/">">http://bodsapr3.company.com:8080/">">http://bodsapr3.company.com:8080/">">http://bodsapr3.company.com:8080/{R:0}" logrewrittenurl="true"> http://bodsapr3.company.com:8080/">http://bodsapr3.company.com:8080/">">http://bodsapr3.company.com:8080/">">http://bodsapr3.company.com:8080/">">http://bodsapr3.company.com:8080/{R:0}" logrewrittenurl="true"> http://jwdsapr3.company.com:59600/{R:0}" logrewrittenurl="true"> https://bidev-joris.company.com/BOE/BI?sap_sysid=BWD&sap_client=004&language=EN" />331Views0likes1CommentHow to preserve data in a HTTP 302 redirect of a POST
Hi, We are trying to implement the following scenario and would like to know if the LTM can do the following: An application execute an HTTP POST request with parameters inside the HTML body LTM sends back a 302 redirect request back to the client to another local url How can LTM sends back in the 302 redirect with the same parameters that were availble in the initial packet (see 1))? Can LTM look into HTML body and use them in packet 2) with an iRule? In initial packet 1) these parameters can be a small text or a large file that is being posted to the servers behind LTM Thanks, Giulio.5.9KViews0likes12CommentsWelcome to the F5/SAP Solutions Forum
Welcome to the F5/SAP solutions forum. If you use F5 and SAP technologies, you've found the right place to discuss integration, best practices for optimal reliability, scalability, and performance. Featuring assistance from F5 staff and community members-at-large that work with integrated solutiosn from F5 and SAP, you'll find interesting discussion and hopefully some great insight and ideas to supercharge your own deployments. Cheers, - Jeff253Views0likes1Comment