Forum Discussion

Oxenburger_1420's avatar
Oxenburger_1420
Icon for Nimbostratus rankNimbostratus
Jun 21, 2017

Python SDK create FQDN nodes and add to Pool

Hi,

 

Does anyone know how to create an FQDN node using Python SDK?

 

Adding a stock standard node seems to be really straight forward but can't figure out the syntax needed for adding FQDN nodes. Here is a snippet of the code that worked for creating a standard node.

 

if v_method == 'addnodes': mynode = bigip.ltm.nodes.node.create(name=v_nodesFQDN, address=v_nodeaddress, partition=v_ltmPartition, description=v_description)

Hoping, once FQDN node has been created then adding it to a pool should be same code used as if adding a standard node. Snippet of Code for adding node to pool.

 

        if v_method == 'addmembers':
        if bigip.ltm.pools.pool.exists(name=v_poolName, partition=v_ltmPartition):
            mypool = bigip.ltm.pools.pool.load(name=v_poolName, partition=v_ltmPartition)
            mymembers = mypool.members_s.members.create(partition=v_ltmPartition, name="%s:%s" % (v_nodesFQDN, v_nodePort))

the iControl_REST_API_Reference manual provides little explanation for this one. FQDN falls under the category of Associated Arrays and Lists.

 

1 Reply

  • This link below answered my question - nodes/fqdn defined under a structure, so wrapping parenthesis around the name and string did the trick.

    https://clouddocs.f5.com/api/icontrol-rest/APIRef_tm_ltm_node.html

    Here is the piece of code that made it work.

     

    if v_method == 'addnodesfqdn':
        mynode = bigip.ltm.nodes.node.create(name=v_nodesFQDN, address=v_nodeaddress, partition=v_ltmPartition, description=v_description, fqdn={'name':"%s" % (v_nodesFQDN)})

     

    The part that seems most relevant is : fqdn={"name":"%s" % (v_nodesFQDN)})

    Without the variable names it would look something like this:

     

    if v_method == 'addnodesfqdn':
        mynode = bigip.ltm.nodes.node.create(name='server1.test.com', address='any6', partition='Test', description='test node', fqdn={"name":"server1.test.com"})