Appendix C: Unchecked mode¶
Using Unchecked mode is currently an EXPERIMENTAL feature.
AS3 3.26 adds a new EXPERIMENTAL feature for Unchecked mode. Unchecked mode means that AS3 does not check the current BIG-IP state, and assumes the state matches the previous declaration. AS3 has complete and sole control over the configuration of a tenant it is managing.
This can lead to improved performance when updating large configurations, because AS3 does not have to send a large number of requests to iControl REST endpoints, and the number of requests being sent across the network from AS3 to the BIG-IP is reduced.
Be sure to see the following section about the risks associated with Unchecked mode.
Risks with using Unchecked mode¶
Because AS3 does not check the current BIG-IP state, there are potential risks with using Unchecked mode.
The main issue you may experience using unchecked mode is that your AS3 declarations can fail if someone makes changes to the BIG-IP configuration without using AS3. For example, if you create a virtual server using TMSH or the BIG-IP Configuration utility, AS3 would not know this virtual server exists. If you try to POST a declaration with AS3 in Unchecked mode that includes an update to this virtual server, the declaration will fail. This is because AS3 in Unchecked mode is unaware of the virtual server and tries to create it, and the declaration fails because it already exists. If AS3 was running in its normal/default mode, it would recognize the virtual server based on the current BIG-IP config, and would correctly modify the virtual server as intended.
Similarly, AS3 in Unchecked mode cannot delete objects it did not create. If you create an object on the BIG-IP without AS3, and then try to delete it using AS3, the object would not be deleted because AS3 does not know it existed in the first place. This could occur when trying to delete individual objects, and can be compounded when trying to delete an entire tenant an object resides in. AS3 in Unchecked mode would attempt to delete the tenant and folder structure, but the declaration would fail because the BIG-IP still has objects in the tenant that it cannot delete because it is unaware of them.
Using Unchecked mode¶
To enable unchecked mode, POST a declaration using the following query parameter: ?unchecked=”true”.
Example of Unchecked mode¶
For a simple example of Unchecked mode, use the following procedure.
- POST a declaration using Unchecked mode, such as this basic HTTP example declaration from the User Guide.
- When you first POST the declaration, AS3 compares the declaration to any previous declarations, and determines it needs to create the HTTP application.
- Now, modify the serverAddresses value in the declaration to some other IP address.
- POST the declaration again using Unchecked mode.
- This time, AS3 compares the current declaration to the one you first posted, and recognizes it needs to update the server address. It does not have to query the BIG-IP for its current configuration, because it assumes the BIG-IP state matches the previous declaration.
While you may not notice significant performance improvement in this simple example, if the declaration contained hundreds or thousands of objects, the performance improvement is clear.