Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Sep 20 09:25

    anthonygego on v0.5

    Allow and report submission exp… (compare)

  • Sep 20 06:07
    anthonygego labeled #434
  • Sep 20 06:07
    anthonygego labeled #434
  • Sep 20 06:07
    anthonygego opened #434
  • Sep 17 07:35
    anthonygego review_requested #424
  • Sep 12 19:23
    AugustH synchronize #423
  • Sep 12 13:36
    kimmens opened #433
  • Sep 12 07:40
    GuillaumeDerval opened #432
  • Sep 12 07:39

    GuillaumeDerval on fix_undefined

    Fix possible undefined var Fix 500 error when a non-fatal … Remove mutable arg and 1 more (compare)

  • Sep 12 07:08

    GuillaumeDerval on master

    Fix typos (compare)

  • Sep 12 06:40

    GuillaumeDerval on master

    Fix regression introduced in 6c… (compare)

  • Sep 11 20:02
    AugustH commented #424
  • Sep 11 19:58
    AugustH synchronize #424
  • Sep 11 18:38
    GuillaumeDerval commented #397
  • Sep 11 18:19
    GuillaumeDerval commented #397
  • Sep 11 17:50
    GuillaumeDerval opened #431
  • Sep 11 17:49
    GuillaumeDerval closed #430
  • Sep 11 17:49

    GuillaumeDerval on improve_submission_js_handling

    Refactor submission reloading. … (compare)

  • Sep 11 17:47

    GuillaumeDerval on master

    Fix regression introduced by 1f… (compare)

  • Sep 11 06:29
    GuillaumeDerval edited #430
Anthony Gégo
@anthonygego
@amrondonp Yes, but some refactor is still in progress to improve the problems type interface. You can already use it but expect that it might be significantly modified in the coming days.
Anthony Gégo
@anthonygego
@larranaga you need to add the lighttpd user to the docker group
Matthias Möller
@mmoelle1
Hi, I still have problems with configuring the smtp server in configuration.yaml. The locally running sendmail gives the error message Mar 15 09:44:26 inginious sendmail[7125]: w2F8iQZq007125: localhost [127.0.0.1] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA. Does someone have a working smtp configuration, e.g., by sending emails via Google smtp?
Matthias Möller
@mmoelle1
Hi, I try to setup a task file for a C++ assignment. Pasting the student's input (std::cout << "Hello World!" << std::endl;) into a template C++ code seems to work. However, I cannot get the output back? Is this the right command in the run file: output=$(run_student g++ student/studentcode.cpp -o student/studentcode.exe && ./student/studentcode.exe)?
Andres Mauricio Rondon Patiño
@amrondonp
Hello guys, we have been working on extending your platform for almost a year. We have implemented several plugins for that version of the platform (1 year old aprox). However, we have seen that you have made a great improvements in the platform and added new cool features. So we plan to adapt our plugins to the new version of the platform. The problem is that we are not sure of your future release plans, we'd like to be able to get an insight on your roadmap so that we can decide which version of the platform to move to. Any recommendation for this kind of work?
Anthony Gégo
@anthonygego
@amrondonp It's currently very difficult to say what the roadmap is. Actually, the INGInious development is currently funded in order to improve its industrial/commercial appeal, so it's sort of a request-driven development based on the feedback we receive from potential industrial users and the department users. Our "roadmap" currently looks like a bullet list with nice-to-have features.
As we are generally 1 and at most 2 working on the code, it's often easier not to deal with the administrative work and just do the minimum work for others to be able to use the platform.
However, we are more and more interested in making INGInious a community driven project. We'll soon set up some tools in order to make discussions easier (gitter for instance only has 1 channel per project, something like slack could be better). We'd really appreciate hearing from you the changes you've done and discuss how these ones can be included into our reflexion to facilitate their integration without a fork, and potentially collaborate more intimately in the future. I'll keep you informed.
I'll do my best to upload asap a short-term roadmap with all the planned devs and set up tools to improve interaction with the community.
To answer the initial question, we planned to tag the current master branch v0.5 once the subproblem APIs are stable enough (there are actually still some parts of the code that need to be extracted from the main js for instance) and the docs are updated, so you'll be able to use it as a basis for a fork. This was already planned last month but we've been delayed by other priorities...
Anthony Gégo
@anthonygego
@mmoelle1 sorry for the delay. Actually the && is a shell syntax so I'm wondering if this will work as expected. If the && is passed as an argument to run_student, this will probably fail. I'd rather simply make the compilation outside of run_student as this is not supposed to execute malicious code, and then simply run your binary using run_student.
Benoît Legat
@blegat
@anthonygego What is the course id needed to archive a course ?
For Scientific Computing, I try assignment2 but it says "Wrong course id"
James Robb
@jamesrobb
@anthonygego you mentioned in Feb that the next releast of ING would be coming out by the end of Feb. I was just checking in on the github page and noticed the latest release is still 0.4.0. Any update on when the next release will be?
Matthias Möller
@mmoelle1
@anthonygego anthonygego
@anthonygego
Thanks for you advice. How can I compile and run in the same docker image
James Robb
@jamesrobb

@anthonygego I am trying to setup INGINious inside a docker container. I can figure out how to allow access to the host docker daemon, but I am having some trouble with routing web traffic. A friend of mine recommend gunicorn, but getting gunicorn to serve INGInious properly has proven to be a hassle. INGInious seems to want to server its own content. Gunicorn will listen on port 8000, but for some reason (even after removing all of the main code in the 0.4 relase) INGInious runs its own webserver on 8080 within the container. Any advice on how to make this process work?

My ideal situation is that nginx will route traffic to the gunicorn server in my container, which acts as a reverse proxy for INGInious. If you feel this isn't an optimal setup,I am definitely up for suggestions.I am handing off the INGInious project to someone else at my university in a few months, and I want the setup/deployment strategy to be easy to understand and most importantly scriptable.

Guillaume Derval
@GuillaumeDerval
@jamesrobb for the next release, the response is "ASAP". We already have PR that are waiting to be merged into 0.6dev (such as webdav), but there are still a few TODOs for 0.5.
Guillaume Derval
@GuillaumeDerval

@jamesrobb there is a problem with the detection of FCGI in the code. I'll open an issue. What you can do in the meantime is to copy the content of the file inginious-webapp.py into another file, say wsgi.py, and remove the lines

if 'SERVER_SOFTWARE' in os.environ:  # cgi
    os.environ['FCGI_FORCE_CGI'] = 'Y'

if 'PHP_FCGI_CHILDREN' in os.environ or 'SERVER_SOFTWARE' in os.environ:  # lighttpd fastcgi
    print(os.environ)
    import flup.server.fcgi as flups
    flups.WSGIServer(application, multiplexed=True, bindAddress=None, debug=False).run()

(which handle the fastcgi detection), then call gunicorn wsgi:application.

James Robb
@jamesrobb
@GuillaumeDerval this works perfectly. Thanks for the help! Looking forward to the next release too.
James Robb
@jamesrobb

I'd like to automate some testing for my deployment of INGInious. In particular, we had the system crash last year during a class where lots of students were using the system at the same time .

I can pull the submissions out of the mongo database, but I am wondering if there is some sort of API call (or something similar) that I can make against INGInious to run these submissions. My idea is to use some testing software to keep asking INGInious to run these various submissions to see where and how things broke down.

Any idea @GuillaumeDerval how I can do this?

James Robb
@jamesrobb
@anthonygego any idea how I might do this?
Benoît Legat
@blegat
I have got the error
ssh_exchange_identification: read: Connection reset by peer
when trying to do the ssh debugging
It was working last year, any idea what changed ?
Benoît Legat
@blegat
I have just tried with another computer and I have the same error
Benoît Legat
@blegat
I just archived the course but the old submissions are still present
How do you delete the old submissions of a course ?
nlarranagac
@larranaga
Hi, I recently added ssl certificates to my lighttpd server which is hosting INGInious, however I can't seem to make them work with INGInious itself, any idea of what I might be missing?
Benoît Legat
@blegat
@anthonygego Have you modified the mpi container ? I get "mpi.h: No such file or directory" now when I do "#include <mpi.h>" :(
Juan David Valencia
@amicis31
Hi, when creating a task in superadmin, It goes to edit task. The problem is that you can't delete the task without saving first, and also you can't upload a image also without saving the tasks.
My question is, do you plan to create a "create task" component or there is a way to avoid this bug?
And in v0.4, we write a possible solution that creates a tasks with a file with a default configuration for this task. So that the application is not broken when the user tries to delete a task that wasn't save
Shlomi Hod
@shlomihod
Collecting git+https://github.com/UCL-INGI/INGInious.git
  Cloning https://github.com/UCL-INGI/INGInious.git to /tmp/pip-req-build-bn7e7jp7
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-req-build-bn7e7jp7/setup.py", line 85, in <module>
        long_description=open(os.path.join(os.path.dirname(__file__), 'README.rst')).read()
      File "/usr/lib64/python3.5/encodings/ascii.py", line 26, in decode
        return codecs.ascii_decode(input, self.errors)[0]
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 637: ordinal not in range(128)
When i'm running:
pip3.5 install --upgrade git+https://github.com/UCL-INGI/INGInious.git
any idea?
Hannes Kristján Hannesson
@HKH515
I'm a colleague of @jamesrobb , and was wondering if either of you, @GuillaumeDerval and @anthonygego have looked our latest problem, we are looking to re-submit submission in a chronological order and by timestamps, is there some API available for this? or would we need to implement a plugin?
Anthony Gégo
@anthonygego
@jamesrobb We used to have a tool to perform task tests and ensure that the result will remain the same. It's still available in the v0.4 branch. However, those were removed with the introduction of tags and were planned to be re-integrated directly in the frontend instead of requiring to run it with a local INGInious install.
@blegat You need to be on the UCL network to access the inginious.info.ucl.ac.be instance via ssh, whatever the port is...
Anthony Gégo
@anthonygego
@larranaga do you get any error from lighttpd or anything else concerning the certificates ? There should not be any particular setup relative to INGInious
@blegat Concerning the mpi container, If I remember well the mpi binairies and librairies were not included in the PATH by default anymore
@amicis31 Indeed, the task edit page was historically designed such that it would create the file if it does not exist. I'll put an issue about that on Github to remember to look at, because there may have been a reason for making such a choice...
Anthony Gégo
@anthonygego
@shlomihod I'm wondering what it tries to use the ascii codecand not the utf-8 one. The issue should come from there. Does it work simply by removing the README file ?
Anthony Gégo
@anthonygego
@HKH515 As MongoDB ids are incremental and are typically returned sorted this way after a request, there is a high probability that replaying a set of selected submissions should be performed in a chronological order. I don't exactly know your needs, maybe writing a plugin should be more convenient.
nlarranagac
@larranaga
hi @anthonygego we moved to apache as its support is better, however we are experiencing some odd behaviors from the server, mainly that on each connection the whole inginious-webapp restarts, making it really slow. Any Ideas of what might be wrong? here's a pastebin with our configuration https://pastebin.com/tDiudya6
Stephen Piccolo
@srp33
I was cleaning some things up and prematurely unregistered a student from one of my courses. Is there any way to re-register this student and get her code submissions back? Thanks!
tibousow
@tibousow
hello, i am a beginner of inginious and would like to understand the operation of the system.
currently i am in the deployment phase of the inginious aplication.
I am stuck at the level of the agent-docker. there is an error.
"Task unavailable on agent"
can someone give me an idea of ​​the path to use at the "run" level of the container
what is the difference between the two errors: "Task unavailable on agent" et "'/task/run' could not be found" ? i need help
hamacekh
@hamacekh

hello, i have trouble with accessing student submissions from single task. Specifically it is page /admin/6m/submissions?user=studentname&task=posloupnost-max-rust . Page says "internal server error". Log says:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 22233: ordinal not in range(128), referer: https://inginious.hamiweb.cz/admin/6m/task/posloupnost-max-rust

This error occours with every student on any task even if they dont have any submissions for the task yet. I can download submissions without problem, i just cannot view them. I am on the latest 0.5 inginious. Should i open new issue? I just wanted to make sure here i am not doing something stupid.

Andres Mauricio Rondon Patiño
@amrondonp

Hello @hamacekh are you using apache?

I am seeing UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 22233: ordinal not in range(128) which prevents a plugin from being loaded. This DOES NOT HAPPEN on the development version. i.e. I stop the apache service and run inginious in debug mode (inginious-webap --host 0.0.0.0 --port 80) and the issue does not happen and the plugin is loaded correctly

I haven't found any solution yet but I think it is related to apache and python integration because it does not happen on development mode (not using apache).

Andres Mauricio Rondon Patiño
@amrondonp

@hamacekh I have found the error, I don't know if it would work for your case but I might be worth a look.

What happened is that for some reason we had and environment variable called LANG set to C (ascii) default encoding for apache. The solution is simply to eliminate it so that it will use default setting form the OS.

If you don't have that variable you might need to set it to the encoding you want or edit the locales of your server

On CentOS they are located on /etc/sysconfig/http
On Ubuntu they are located on /etc/apache2/envvars

Here are some useful links that explain the issue
https://www.raspberrypi.org/forums/viewtopic.php?t=65257
https://stackoverflow.com/questions/9322410/set-encoding-in-python-3-cgi-scripts

hamacekh
@hamacekh
@amrondonp Thanks a lot! Yes, i am using apache and problem was exactly as you said. Problem solved :-)
Andres Mauricio Rondon Patiño
@amrondonp
Hello everyone. We have deployed a production version of INGInious on our university, we have separated the agents from the web app. However, the inginious-backend process is using 1.1GB of memory. Is it expected for this process to be using so much ram?