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

gluon-status-page: rework package to not depend on batman #1053

Closed
wants to merge 6 commits into from
Closed

gluon-status-page: rework package to not depend on batman #1053

wants to merge 6 commits into from

Conversation

christf
Copy link
Member

@christf christf commented Feb 23, 2017

This introduces a statuspage that works with babel.

Changes in the graphs have intentionally not been made. Reworking the stats should be left for after a merge of this PR.

@christf christf added 3. topic: babel Topic: Babel Layer 3 Routing 0. type: enhancement The changeset is an enhancement labels Feb 23, 2017
@christf
Copy link
Member Author

christf commented Feb 23, 2017

on irc it was discussed to not remove parts of the api. This PR will be reworked to reflect that.

@neocturne neocturne added this to the 2017.1 milestone Feb 25, 2017
@triplem
Copy link

triplem commented May 16, 2017

Right now, I have browsed through those changes. I do have a couple of questions:

  • Why are we not going to remove the "old" API? There any need to keep the old API?
  • IMHO it would be appropriate to calculate all related datapoints in the backend and just transfer a single object (meaning for both currently available endpoints) the same data to the UI. The backend should decide which type of Protocol is used and not the UI.

@NeoRaider Could you please share your thoughts on this one?

@neocturne
Copy link
Member

@triplem It must generally be expected that not all nodes are updated to a new Gluon version at once. The status page frontend allows to switch over to other nodes, so we try to keep both frontend and backend backwards compatible with at least the previous Gluon version.

Consolidating backend endpoints might be a good idea; I don't have a clear opinion on that as long as we don't have a concrete plan. Note that the status page is designed to make the backend as thin as possible (mostly just simple gluon-neighbour-info wrappers) and do all the heavy lifting in the frontend.

@triplem
Copy link

triplem commented May 21, 2017

@NeoRaider I do understand (at least partly) the backwards compatibility issue. This means that the information should be retrieved via the same interface like in the old version.

The backend should provide the same information for both protocols (be it batman or babel) via the same backend, this will make the transition easy for the frontend part. No changes needed there except some slight adjustments to check protocol names.

In a future version I would then try to avoid to use the protocol name as a key in Json, this would make it easier to adapt to newer versions of protocols.

I do not understand the heavx lifting stuff. The backend knows whivh protocol it uses and should not delegate the responsibility to choose the correct endpoint based on this information to the ui. Dies not make any sense at all.

@neocturne neocturne modified the milestones: 2017.1, 2017.2 May 30, 2017
@neocturne
Copy link
Member

The basic issue is that batman-adv and Babel simply don't provide the same information; this is the reason I'd like to keep the endpoints separate.

batman-adv has a single metric value called TQ, that an integer in the interval [0, 255], but is often scaled to [0, 1] (or [0%, 100%], and sometimes inverted; here, 255 is a perfect connection. Babel has separate RX and TX metrics, which are in the range [0, 65535]; in contrast to batman-adv, lower numbers are better.

With heavy lifting, I mainly referred to merging the information from different endpoints (in this case, WLAN metrics, routing protocol metrics and other neighbour information).

@christf
Copy link
Member Author

christf commented Nov 1, 2017

this is still one stream called routingMetrics wihch is merged from a batadv and a babel stream.
I am not sure whether this already fulfills the requirement. Anyhow, I think I am done.

@christf
Copy link
Member Author

christf commented Dec 25, 2017

rebasing the babel PR (with a working status page) on top of this one made me realize that there are some gaps between the two. let me figure out which patchset will need adjustments - it could be this one.

@christf
Copy link
Member Author

christf commented Dec 28, 2017

this contains now the full patch set. rebasing on top of #1280 as discussed today....

@rotanid rotanid added the 2. status: merge conflict The merge has a conflict and needs rebasing label Dec 29, 2017
@christf
Copy link
Member Author

christf commented Dec 31, 2017

... I am still in the process of rebasing this, currently facing build-issues...

@christf christf removed the 2. status: merge conflict The merge has a conflict and needs rebasing label Jan 6, 2018
@christf christf removed the needs work label Jan 6, 2018
@christf
Copy link
Member Author

christf commented Jan 8, 2018

this is not done yet :/ the data for a client is scattered across multiple lines

@christf
Copy link
Member Author

christf commented Apr 15, 2018

The backend part has now been merged. Given the new infrastructure we have to see what Change we need now.

@christf
Copy link
Member Author

christf commented Apr 16, 2018

much of this was done in #1366 the stream handling changed anyways. let's open a new PR for that one when we want to display babel metrics in addition to cfg80211 and when we want to link to neighbours on the status page.

@christf christf closed this Apr 16, 2018
@oszilloskop oszilloskop deleted the christf_statuspage-babel-rework branch October 22, 2019 00:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. type: enhancement The changeset is an enhancement 2. status: merge conflict The merge has a conflict and needs rebasing 3. topic: babel Topic: Babel Layer 3 Routing help-appreciated needs work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants