Giter Site home page Giter Site logo

Conditioning not taking effect about pinc HOT 6 OPEN

phuedx avatar phuedx commented on July 28, 2024
Conditioning not taking effect

from pinc.

Comments (6)

phuedx avatar phuedx commented on July 28, 2024

OK. I spent an hour setting up a Debian Stretch VM in the same way I'd set up a Raspberry Pi. Here are my notes:

Symptoms

  1. The setup script isn't creating the traffic control queueing disciplines.
  2. Conditioning traffic for a device isn't persisting on the web UI.

Cause

In a31e0a8, I replaced testing Boolean(process.env.NO_EXEC) with process.env.NODE_ENV !== 'prod') in the ./src/server/exec module. Previously, if the NO_EXEC environment variable //wasn't// set, then PiNC would execute all commands. Now, if the NODE_ENV variable isn't set then PiNC won't execute all commands. Since the setup script wasn't updated to reflect this change, it's been broken (a NOP) since that change.

Now, if there aren't any traffic control queueing disciplines, then conditioning traffic for a device via the web UI should fail. Either:

  • The service isn't failing; or
  • The service is failing but silently; or
  • The service is failing loudly but the web UI isn't reflecting that failure.

Related Issues

  1. It's impossible to debug the service (part of which backs the setup script).
  2. The setup script fails to create the traffic control queueing disciplines for the "3G (UK)" profile.

from pinc.

phuedx avatar phuedx commented on July 28, 2024
  • The service is failing loudly but the web UI isn't reflecting that failure.

I've just tested this locally and it can't happen. If the server returns a 4xx or 5xx error code, then the web UI doesn't update.

from pinc.

phuedx avatar phuedx commented on July 28, 2024
  • The service isn't failing; or

I've just tested this locally and it isn't the case.

from pinc.

phuedx avatar phuedx commented on July 28, 2024
  1. The setup script fails to create the traffic control queueing disciplines for the "3G (UK)" profile.

This is because handles aren't being converted to hex in src/server/profiles.js.

from pinc.

phuedx avatar phuedx commented on July 28, 2024

@dbrant: I'd appreciate if you could retry this with PiNC@5ef8b1d.

from pinc.

dbrant avatar dbrant commented on July 28, 2024

Retrying from that commit, it looks like the throttle setting is being correctly persisted in the web UI. However, it still doesn't seem like any client connections are actually being throttled. The only error message I can see is the following from the setup script:
RTNETLINK answers: No such file or directory
(I'm not sure where else to look for additional debugging.)

from pinc.

Related Issues (11)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.