Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI no longer showing host IP address for nodes in Services view (consul 1.2.2) #4579

Closed
AdamGoldsmith opened this issue Aug 24, 2018 · 7 comments
Labels
theme/ui Anything related to the UI

Comments

@AdamGoldsmith
Copy link

Overview of the Issue

After upgrading from Consul 1.2.1 to 1.2.2, each node's IP address is no longer displayed on the UI for the Nodes.

1.2.1
image

1.2.2
image

These before and after images were taken immediately after a brand new installation of Consul using Ansible

Reproduction Steps

Steps to reproduce this issue, eg:

  1. Install Consul 1.2.2 and look at the UI for the Nodes under the Services tab

Consul info for both Client and Server

Client info
agent:
        check_monitors = 0
        check_ttls = 0
        checks = 0
        services = 0
build:
        prerelease =
        revision = e716d1b5
        version = 1.2.2
consul:
        known_servers = 0
        server = false
runtime:
        arch = amd64
        cpu_count = 2
        goroutines = 41
        max_procs = 2
        os = linux
        version = go1.10.1
serf_lan:
        coordinate_resets = 0
        encrypted = true
        event_queue = 0
        event_time = 1
        failed = 0
        health_score = 0
        intent_queue = 0
        left = 0
        member_time = 1
        members = 1
        query_queue = 0
        query_time = 1
Server info
agent:
        check_monitors = 0
        check_ttls = 0
        checks = 0
        services = 0
build:
        prerelease =
        revision = e716d1b5
        version = 1.2.2
consul:
        bootstrap = false
        known_datacenters = 1
        leader = true
        leader_addr = 10.1.42.101:8300
        server = true
raft:
        applied_index = 28
        commit_index = 28
        fsm_pending = 0
        last_contact = 0
        last_log_index = 28
        last_log_term = 2
        last_snapshot_index = 0
        last_snapshot_term = 0
        latest_configuration = [{Suffrage:Voter ID:b27e45bf-642e-35db-ee35-6fe2f42b882d Address:10.1.42.101:8300} {Suffrage:Voter ID:959d8885-b390-a8e6-fbe7-1467f30fb309 Address:10.1.42.102:8300} {Suffrage:Voter ID:33444a8c-599c-1977-5745-945a56002bda Address:10.1.42.103:8300} {Suffrage:Voter ID:8ed3d977-24df-a59f-d3fa-deb056d4e6b7 Address:10.1.42.105:8300} {Suffrage:Voter ID:6b8568cd-39fc-a87b-9637-b6934ead65cc Address:10.1.42.104:8300}]
        latest_configuration_index = 1
        num_peers = 4
        protocol_version = 3
        protocol_version_max = 3
        protocol_version_min = 0
        snapshot_version_max = 1
        snapshot_version_min = 0
        state = Leader
        term = 2
runtime:
        arch = amd64
        cpu_count = 2
        goroutines = 125
        max_procs = 2
        os = linux
        version = go1.10.1
serf_lan:
        coordinate_resets = 0
        encrypted = true
        event_queue = 0
        event_time = 2
        failed = 0
        health_score = 0
        intent_queue = 0
        left = 0
        member_time = 8
        members = 10
        query_queue = 0
        query_time = 1
serf_wan:
        coordinate_resets = 0
        encrypted = true
        event_queue = 0
        event_time = 1
        failed = 0
        health_score = 0
        intent_queue = 0
        left = 0
        member_time = 10
        members = 5
        query_queue = 0
        query_time = 1

Operating system and Environment details

PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
Linux consul-s1 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux

Log Fragments

Considering the reported bug, unsure the log output would serve much use here. Happy to supply any additional required info if requested/needed.

@johncowen johncowen added the theme/ui Anything related to the UI label Aug 24, 2018
@johncowen
Copy link
Contributor

Hi @AdamGoldsmith ,

Thanks very much for the report. I'm just looking at the equivalent view here:

https://demo.consul.io/ui/dc1/services/api-proxy

..and I see the IP addresses. I know there was a change between 1.2.1 and 1.2.2 as to where we get the data from to display the IP address here. So I'm thinking there is something specific to your setup (as well as other peoples), that we aren't taking into account.

Would it be possible for you to post the response of the:

/v1/health/service/consul?dc=dc1

..endpoint, you can either get this from the web inspector, or from a via curl.

Thanks!

@AdamGoldsmith
Copy link
Author

AdamGoldsmith commented Aug 24, 2018 via email

@johncowen
Copy link
Contributor

Thank you very much for your rapid response!

😁 No problem Adam, the least I can do!

This info is exactly what I wanted, I'll come back to you as soon as possible. Likely to be beginning of next week now. I hope this doesn't affect your workflow too much in the meantime.

Thanks again

John

@AdamGoldsmith
Copy link
Author

AdamGoldsmith commented Aug 24, 2018 via email

@johncowen
Copy link
Contributor

johncowen commented Aug 28, 2018

Hi @AdamGoldsmith ,

I've had quite a deep look into this and a good chat with the backend team here. If you look closely at the response JSON above, the Service.Address value is blank.

"Service":{"ID":"consul","Service":"consul","Tags":[],"Address":""

Looking at this from a 'the Consul UI is just a thin client' perspective, we are showing what is returned from the API. This of course doesn't help you! So I'm going to add a fix to the UI to default to the Node Address if there is no Service Address, a straightforward fix.

We do document that a ServiceAddress can be blank (https://www.consul.io/api/catalog.html#serviceaddress), but historically I've found a few places where this has been confusing, so I've submitted an issue for the backend team to consider this as a feature request (#4599) for consideration in the future.

Thanks again for bringing this up!

@AdamGoldsmith
Copy link
Author

AdamGoldsmith commented Aug 28, 2018 via email

@johncowen
Copy link
Contributor

Hi @AdamGoldsmith ,

You should be able to specify an address property for the service in your service definition. Just incase I've noticed the API also takes a few seconds to report this specific property, I'll make a note of this on #4599 also, but make sure you give it a few seconds after starting consul for this property to appear.

If you have any other questions regarding usage/configuration, maybe give the mailing list a try.

Re: The 'hedge for an empty value' in the UI itself. I'll try to keep you updated here when this is in the UI.

Thanks again for the report, do let me know if you spot anything else!

Thanks,

John

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
theme/ui Anything related to the UI
Projects
None yet
Development

No branches or pull requests

2 participants