v9
62 TopicsGTM not seeing Virtual Server
Wasn't sure where to turn, I have already opened a case with F5 but have not gotten an answer. I am implementing 3 new GTM's version 9.2.4 and have them connected to 2 LTM's running version 9.1. Here is the problem, my GTM are not discovering the virutal servers on the LTM's. All the LTM's are green and if I do an iqdump traffic flows beautifully. There is a firewall in between the units but I have confirmed, many many times that port 22 and 4353 are allowed bidirectionally. Before you ask, I have tried all 3 different discovery methods, Enabled, Enabled (no Delete) and One Time Discovery. I have also rebooted the systems in the hope that it would correct it. Has anyone ever have this problem or at least heard of this before. Time is running out and I really don't want to manually create all the VIP's.848Views0likes4CommentsIdentify changes to existing v4.5 code to migrate to v9 code..
I was told that there is a tool on devcentral in which we can paste our existing the SDK v4.5 code for BIGIP devices integration , and the tool will analyze and give the changes that are required to be made to be compatible for the new sdk version. Can anyone help?630Views0likes11CommentsInterface IP address?
Hi, This maybe basic query but how do I assign IP address to 1.1,etc. interfaces? I've created VLAN with IP address of the local subnet and put that particular interface under that vlan but I still cannot ping the vlan IP address from that particular subnet. The switch that the LTM connects to is a Cisco 3750G... What gives? Thanks536Views0likes6Commentspersistence migration from version 4.5 to 9
Hello, I've a question about howto handle persistence on http_header in Bigip V9. In version 4 we had a pool with session persistency based on http_header. pool wsapps1 { persist http_header("GAUSER") persist_timeout 300 member 192.168.98.21:http member 192.168.98.20:http How do I configure this in version 9 ? I know that I only can configure persistence on the virtual server. Any help would be great. Thanks, Dirk420Views0likes7CommentsPerl and SNMP Queries
Hello, in BigIP 4.5 we used Perl with the net::snmp module to do queries of UCD-Davis MIB Variables. The variables that we were querying were those that are set from entries in the syslog.conf file; such as 'proc', 'load' and 'disk'. I have configured the same type of information in the syslog-ng.conf file in 9.0.5 and have verified by doing a snmpwalk of the ucd-davis mib that values are being set. I've also verified that the perl script is executing and connecting to the V9.0.5 server. However, for some reason no data is being returned. The OIDs being queried are: @oidlist = ('1.3.6.1.4.1.2021.4', '1.3.6.1.4.1.2021.2.1', '1.3.6.1.4.1.2021.9.1', '1.3.6.1.4.1.2021.10.1'); A perl script with a 'SNMPtablerequest" command works successfully for both 4.5 and 9.0. However, a perl script with the 'get_next_request' only works on 4.5...not 9.0. Has anyone used a perl script going to a BigIP 9.X server with the get_next_request function successfully? If so, would you mind posting a 'snippet' of your code with this in it?404Views0likes5CommentsGeneric Axis method execution...
Is it possible to send a generic Axis service call to iControl? Perhaps someone can help me find my problem. I am basically adapting a "get_pool_status" to 9.x. What I am getting is: 13:16:36,220 ERROR [STDERR] AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client faultSubcode: faultString: Unknown method "{urn:iControl:ITCMGlobalLB/Pool}:get_enabled_state" faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:Unknown method "{urn:iControl:ITCMGlobalLB/Pool}:get_enabled_state" at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222) at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129) at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) My code is as follows: String endpoint = "https://" + host + ":443/iControl/iControlPortal.cgi"; Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress(new java.net.URL(endpoint)); if (f5update) { call.setOperationName(new QName("urn:iControl:ITCMGlobalLB/Pool", "get_enabled_state")); call.setUsername(user); call.setPassword(passwd); call.addParameter("pool_name", XMLType.SOAP_ARRAY, ParameterMode.IN); call.setReturnType(XMLType.SOAP_ARRAY); Integer[] reply = (Integer[]) call.invoke(new Object[] { pool }); result = (reply[1] == 1); } I tried building the iControl sdk, but ran into numerous errors due to "enum" being used as a variable, and I'm on JDK 1.5. Is there a known way around this? Vince382Views0likes4CommentsCompatibility issue
I'm using some perl SOAP::Lite calls, specifically ITCMLocalLB:Pool:get_member_list which presumably is implemented as a compatibility call. But instead of getting something like: ARRAY(0x8e86080) 0 ITCMCommon::IPPortDefinition=HASH(0x8eb7028) 'address' => '1.2.3.4' 'port' => 80 I get: ARRAY(0x9557e74) 0 ITCMCommon::IPPortDefinition=HASH(0x9575678) 'address' => '-414596721' 'port' => 389 Note the address. Thoughts?359Views0likes3CommentsThe requested server (node) service was not found.
Hi All We have developed an internal tool named ‘MITVIPNET’ that is used to manage load balancing of nodes connected to BIGIP devices and this tool is in production since 4 months. The tool enables the user to select a particular node on a particular BIGIP switch and initiate a “DOWN”/ ‘UP’,/ ‘FORCED_DOWN’ action. The user experiences the following internal error on some occasions when he initiates one of these actions and the action fails. SOAPException : 'ITCMCommon::OperationFailed Exception caught on ITCMLocalLB::Node::get_statistics(). primary_error_code : 335 secondary_error_code: 0 error_string : The requested server (node) service was not found. I hv attached the code that goes behind this Node Action page. I would like to know why this error occurs, does the code require any change (if so, pls specify the changes). Pls note that the error does not occur at all times. Find the code in the attached file.350Views0likes1CommentHow to take down a node...
This question has come up several times since the release of 9.0 so I thought it warranted a post here. The question is about the new methods call that were previously set_state (traffic or no traffic) and set_availability (new sessions, no new sessions). Here's the results directly from the developer who implemented the features: In v9.0, for both LocalLB::NodeAddress and LocalLB::PoolMember, the following rules apply: - set_session_enabled_state - sets the state that determines whether to allow new sessions to be established. If disabled, this allows current connections to stay connected, but stops the node from accepting new connections. This corresponds to the set_state method in 4.5x. - set_monitor_state - sets the availability state, i.e. UP/DOWN. If disabled, this immediately performs a forced-down to all node addresses/pool members.. This basically stops all traffic (including persistent connections) from being sent to the node addresses/pool members. This corresponds to the set_availability method in 4.5x. - get_session_enabled_state returns the state (enabled/disabled) that we set in set_session_enabled_state, but to get the true computed/propagated status of that operation, get_session_status should be called. Note that the SessionStatus enum returned by get_session_status has more than just the enabled/disabled status. For example, if you call NodeAddress::set_session_enabled_state (10.10.10.100, disable), calling PoolMember::get_session_status (pools), where pools contains member 10.10.10.100:80, will return a SessionStatus of SESSION_STATUS_ADDRESS_DISABLE, even though PoolMember::get_session_enabled_state might return an Enabled state for that pool member. The same thing applies to set_monitor_state, i.e. you call this method to set the availability for the object, but you'll need to call get_monitor_status to get the actual availability status -Joe342Views0likes2Comments