License Server AutoDiscover DNS Entry Failing

Answered

I configured the DNS entry for auto-discovery of the license server as per the instructions, but PyCharm couldn't find it. Can someone tell me if I’m missing something here?

The instructions:

Configuring Automatic Server Discover

To configure automatic License Server discovery:

Add a DNS TXT record url=<server_url> for the following name:

_jetbrains-license-server.<network-domain-name>

To verify the record in a Unix environment:

Run the following command:

dig _jetbrains-license-server.<domain_name> TXT

A valid response should look like this:

_jetbrains-license-server.acme.com. 3600 IN TXT "url=[http://lsserver:8080/licenseServer]"

Here’s the result of my DIG test once configured:

[root@sl1-netsys ~]# dig _jetbrains-license-server.ddmg.ds TXT

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> _jetbrains-license-server.ddmg.ds TXT

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63196

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:

;_jetbrains-license-server.ddmg.ds. IN TXT

;; ANSWER SECTION:

_jetbrains-license-server.ddmg.ds. 3600 IN TXT "url=[http://sl1-slicsvr03.ddmg.ds:8080/licenseServer]"

;; Query time: 1 msec

;; SERVER: 10.165.10.52#53(10.165.10.52)

;; WHEN: Wed May 16 20:56:15 2012

;; MSG SIZE rcvd: 117

Note that their instructions did not say to put square brackets around the URL, but it’s shown that way in the sample DIG answer. I tried updating our DNS both ways. Neither worked.

When I started PyCharm, it threw the License Key/License Server dialog.

What's missing? How do I get this to work?

19 comments
Comment actions Permalink

Even if you set up the autodiscovery, it's still not performed completely automatically; you need to press the "Discover" button in the license server dialog to auto-detect the license server address. Does this work for you?

0
Comment actions Permalink

Actually, it didn't work.

When I selected the "Enter License server address" radio button and clicked "Discover" - without entering anything into the text field - I received an error:

"No response from Autodetected license server".


If I filled in the full license server URL (http://sl1-slicsvr03.ddmg.ds:8080/licenseServer) and clicked "Discover" button, I received the same result.


If I filled in the full license server URL for the license sever and clicked the "OK" button, I received a license.


Why wouldn't the "autodiscovered" server give me a license? Did it actually "autodiscover" anything from the DNS entry? If it did, why didn't I get a license?


0
Comment actions Permalink

No, it looks like it didn't auto-discover anything. I've forwarded this thread to the license server developer, he'll help you.

0
Comment actions Permalink

Hi Tom,

In order to perform DNS lookup, PyCharm needs to know domain name. Once the name is known, it will construct the "_jetbrains-license-server.<domain_name>" string and will perform DNS lookup.

Domain name is discovered by scanning all machine network interfaces and obtaining associated hostnames. PyCharm assumes that these hostnames contain domain name.

So if the host that runs PyCharm is named "host-01.ddmg.ds", PyCharm will try to use "ddmg.ds" and "ds" as domain names when making DNS lookup. So please make sure you use full hostnames.

In the coming builds we have made some modifications to this algorithm, so that the client tries to obtain domain names also fom DNS server's address. This should be the solution for networks where hostnames of workstations do not contain domain names.

Regards -

   Eugene.

0
Comment actions Permalink

Thanks, Eugene. We are using FQDN's. Still failed.  I also noticed that the sample DNS entry did not have an FQDN in the TXT field; so I modified that in mine. Still didn't work.

I'm going to give up and instruct the users paste the entry into the server field and click OK.

If there's anything else we should try, let me know. Thanks again.

0
Comment actions Permalink

Hi Tom,

I can provide you with the utility that performs DNS lookup exactly as PyCharm does and prints discovered data in console. This may help to diagnose the problem. Please contact me by email so that I could send you back the utility.

Eugene.

0
Comment actions Permalink

Hi Eugene,

we have similar problems with DNS resolution and the tool you mentioned would for sure help to trace the problem.

I emailed you a few days ago but didn't get a reply yet.

Maybe this tool could be made available as a download?

--

Johannes

0
Comment actions Permalink

Hi, I have the same issue. I created the TXT record and dig gives me the correct answer, but no luck with the autodiscover (I'm trying with CLion, by the way).

Eugene, could you send me the tool you mentioned that performs DNS lookup?

Thanks.

--

Marcelo.

0
Comment actions Permalink

Hi Marcelo, 

Sent you the email

1
Comment actions Permalink

Thanks! Client boxes weren't getting the right "domain-name" option from the DHCP. Now it works OK.

Another thing...

Is there a way to NOT have to mannually click the autodetect button the first time a new user launches the program? (so that it automaticly searches for a server without prompting the user).

 

Thanks again.

--

Marcelo

0
Comment actions Permalink

> Is there a way to NOT have to mannually click the autodetect button 

In current releases, provided the autodiscovery is set up correctly, the URL text field is automatically pre-populated with the license server URL as soon as you select the "License Server" option in the "Register" dialog. 

The user, however, will have to explicitly confirm the chosen licensing scheme by pressing "Ok" button in the Register dialog. This cannot be "automated".

0
Comment actions Permalink

Hi Eugene,

Can you please send me the utility as well?

I've been trying to setup Auto Discovery with no luck.

We're using IntelliJ IDEA (Ultimate), ReSharper, ReSharper Ultimate, WebSorm, etc. with License Server build 10226.

Cheers,

Sam

0
Comment actions Permalink

Could this tool also be sent to me? I am having the same issue with auto-discovery.

 

Thanks,

Steve

 

Edit: The provided tool worked to confirm our TXT record was pulling from DNS. My issue was resolved by removing ":8080" from the license server URL on the TXT record. Systems now discover the license server and utilize licensing without issue.

0
Comment actions Permalink

Hi Steve, 

Please check your mailbox

0
Comment actions Permalink

Same/similar problem here. Discovery is set up in the DNS server. Dig works. But Intellij did not "discover" anything when pressing the discover button.

Getting the tool to track the problem down would be great!

Many thank in advance.

0
Comment actions Permalink

Hi Olaf, 

please find the utility in your mail

0
Comment actions Permalink
Hello, Please show screenshots from: 1) license server's webpage; 2) DNS record settings.
0
Comment actions Permalink

Hi Eugene,
hi Jiri,

many thanks for your support and the discovery tool

I now managed to track the problem down:

DNS discovery itself worked (the tool also showed the result).

But Intellij refused to talk to the license server because of the self signed TLS certificate we are using in front of the license server!

To confirm this, we added our root ca to the Intellij keystore (via settings -> tools -> server certificates).
Then the license server dialog accepted the https URL. In all other cases this dialog just said "No response".

Unfortunately this is now a kind of hen-egg problem: A (new) developer has to configure his intellij client first to get a license. But he needs a license to make this change (or use it in free mode). And on any major update of intellij client he has to repeat this step...

So this is not an option for us, and we fall back to http for the license server.

Other question: Is there a way that intellij could use the (windows) trust stores for this?

 

It would be very helpful for others to add all this information to the documentation of your license server.

Regards
Olaf

0

Please sign in to leave a comment.