F5Networks / f5-appsvcs-templates

F5 BIG-IP Application Service Templates (FAST)
Apache License 2.0
32 stars 13 forks source link

Reusing pool delivers error "The requested Node .... already exists in partition tenant1 #128

Closed gwolfis closed 1 year ago

gwolfis commented 1 year ago

Environment

Summary

One deploying a simple-http-app using the simple-http template I define a pool in tenant1.

When deploying another application using template HTTP Application Template in the same tenant 1 and selecting the already existing Pool created at the simple-http template deployment, the deployment of the HTTP Application template fails with the following error "01020066:3: The requested Node (/tenant1/a.b.c.d) already exists in partition tenant1."

Steps To Reproduce

  1. Deploy simple-http template in tenant1
  2. Deploy HTTP Application Template in tenant1 and select existing Pool (created from the previous pool)
  3. Deployment of HTTP Application fails.

Expected Behavior

I would expect that if I am allowed to select an existing pool from the drop down menu and the pool is within the same tenant, that the template deployment should succeed.

Actual Behavior

Selecting an existing pool and deploying the template it fails with this error: 01020066:3: The requested Node (/tenant1/a.b.c.d) already exists in partition tenant1.

shyawnkarim commented 1 year ago

The simple_http template creates a new pool, using the app name, for every app deployed, which can be seen in the schema:

{ "class": "ADC", "schemaVersion": "3.0.0", "{{tenant_name}}": { "class": "Tenant", "{{application_name}}": { "class": "Application", "template": "http", "serviceMain": { "class": "Service_HTTP", "virtualPort": {{virtual_port::integer}}, "virtualAddresses": ["{{virtual_address}}"], "pool": "{{application_name}}_web_pool" }, "{{application_name}}_web_pool": { "class": "Pool", "monitors": [ "http" ], "members": [ { "servicePort": {{server_port::integer}}, "serverAddresses": {{server_addresses::array}} } ] } } } }

Did you customize this template so that you can select an existing pool?

gwolfis commented 1 year ago

Hi Shyawn,

Sorry for not being clear here.

I am deploying simple-http-app using the example/simple-http template first, to create a pool in tenant1. Then I create another application via http-application-template, but I want to reuse the existing pool which I created when the simple-http-app got created.

Though both apps are deployed in tenant1, I will get the “The requested Node … already exists in partition tenant1”. Since http-application-template gives you the option to select an existing pool and the pool deployed from the example/simple-http apps is presented as one of the options, I would expect that this is a valid choice to select… As you the error shows it isn’t.

Only a pool created in /Common is allowed.

Best regards,

[signature_1231455812] Gert Wolfis | EMEA Solution Architect Cloud and Automation M +31 657022078

From: Shyawn Karim @.> Date: Tuesday, 11 April 2023 at 00:44 To: F5Networks/f5-appsvcs-templates @.> Cc: Gert Wolfis @.>, Author @.> Subject: Re: [F5Networks/f5-appsvcs-templates] Reusing pool delivers error "The requested Node .... already exists in partition tenant1 (Issue #128)

EXTERNAL MAIL: @.***

The simple_http template creates a new pool, using the app name, for every app deployed, which can be seen in the schema:

{ "class": "ADC", "schemaVersion": "3.0.0", "{{tenant_name}}": { "class": "Tenant", "{{application_name}}": { "class": "Application", "template": "http", "serviceMain": { "class": "Service_HTTP", "virtualPort": {{virtual_port::integer}}, "virtualAddresses": ["{{virtual_address}}"], "pool": "{{application_name}}_web_pool" }, "{{application_name}}_web_pool": { "class": "Pool", "monitors": [ "http" ], "members": [ { "servicePort": {{server_port::integer}}, "serverAddresses": {{server_addresses::array}} } ] } } } }

Did you customize this template so that you can select an existing pool?

— Reply to this email directly, view it on GitHubhttps://github.com/F5Networks/f5-appsvcs-templates/issues/128#issuecomment-1502429682, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AE3VWXJT2SUVHKIAAXHIJFLXASEOBANCNFSM6AAAAAAWNIH26E. You are receiving this because you authored the thread.Message ID: @.***>

shyawnkarim commented 1 year ago

I was able to deploy first the simple-http template, that creates a pool, and then deploy http-application-template to the same tenant and select the existing pool. Both deployed without errors.

Maybe there is something else going on with your templates?