Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 10:15
    GuillaumeDerval synchronize #600
  • 10:15

    GuillaumeDerval on kata

    Add a datastructure to maintain… (compare)

  • 09:51
    GuillaumeDerval synchronize #600
  • 09:51

    GuillaumeDerval on kata

    Begin rework of container netwo… Add a datastructure to maintain… (compare)

  • Nov 22 14:41
    GuillaumeDerval synchronize #600
  • Nov 22 14:41

    GuillaumeDerval on kata

    Add a "shared_kernel" flag for … (compare)

  • Nov 22 00:03
    GuillaumeDerval synchronize #600
  • Nov 22 00:03

    GuillaumeDerval on kata

    Allow to define runtime via the… (compare)

  • Nov 21 22:02
    GuillaumeDerval synchronize #600
  • Nov 21 22:02

    GuillaumeDerval on kata

    Sometimes, the type helper need… (compare)

  • Nov 21 21:50
    GuillaumeDerval synchronize #600
  • Nov 21 21:50

    GuillaumeDerval on kata

    Autodetect common runtimes (compare)

  • Nov 21 21:13
    GuillaumeDerval edited #600
  • Nov 21 21:11
    GuillaumeDerval synchronize #600
  • Nov 21 21:11

    GuillaumeDerval on kata

    Put more understandable names Unify the docker and kata agent… (compare)

  • Nov 21 19:17
    GuillaumeDerval synchronize #600
  • Nov 21 19:17

    GuillaumeDerval on kata

    Environments are now indexed by… (compare)

  • Nov 21 18:37

    GuillaumeDerval on master

    Fix killing job in queue (named… (compare)

  • Nov 21 17:57
    GuillaumeDerval synchronize #600
  • Nov 21 17:57

    GuillaumeDerval on kata

    Environments are now indexed by… (compare)

cmneville
@cmneville
sorry, I added just a bit too much there. Ignore the first error. the bottom half is what I am talking about
Anthony Gégo
@anthonygego
@cmneville I think it's due to the fact pip does not copy the non-Python files if they are not specified in the MANIFEST. However, I do not recommend using the master branch for now, several features (such as i18n) are not finished yet and documentation has not been updated yet neither, you'd rather use the v0.4 branch as normally specified in the docs.
Markus
@Kingmakke

Hi,
i've run into a problem. I want to grade a C program which uses the cos-function from the math package. So I Included the package as follows:

include <stdio.h>

include <math.h>

I can use printf and scanf but with the cos function I get: Main.c:(.text+0x8a): undefined reference to `cos'.
In my local programming environment everything works. I use the cpp Container. Isn't math included in there? What can I do?
Thanks!

Ohad Perry
@ohadperry9_twitter
hi, help pls in an issue.
UCL-INGI/INGInious#259
Itamar Dori
@doriitamar
Any idea why I can't see stdout on debug information panel even though there is an output?
Anthony Gégo
@anthonygego

@Kingmakke I have no issue compiling this snippet inside the containers :

#include <stdio.h>
#include <math.h>

int main(int argc, char** argv) {
    printf("cos(pi/3) : %f\n", cos(M_PI/3));
}

There should be a difference between linkers versions or parameters...

@doriitamar Maybe the displayed info is actually not output on stdout or not correctly redirected to the run script stdout.
Ohad Perry
@ohadperry9_twitter
UCL-INGI/INGInious#261 - help pls
Itamar Dori
@doriitamar
@anthonygego well, I walked around this issue with echo-ing $output in my run file for this to show. Thanks.
Shlomi Hod
@shlomihod
@Kingmakke Note that you might need to compile with -lm flag (for example: https://stackoverflow.com/questions/10059146/gcc-libm-not-working/10059154#10059154)
Shlomi Hod
@shlomihod
Hey, on a new installed INGInious on CentOS i'm getting Failed to create the course. when I'm trying to create a new course, and Cannot make container temp directory. on submission of tasks (from the tutorial course). I thought it is file permission error, but is seems the apache users own the /var/www/INGInious direcotry, any other idea that I should check?
Itamar Dori
@doriitamar
@shlomihod add
Add to your configuration file the tmp_dir entry with an absolute path to your temp directory under local-config
i.e tmp_dir: /var/www/INGInious/agent_tmp
Itamar Dori
@doriitamar
It happens since the default value is a relative path and once you start httpd service with systemctl start it starts in a different path
Shlomi Hod
@shlomihod
@doriitamar It didnt work, still the same problems
Itamar Dori
@doriitamar
Then try to edit the httpd unit file to
Config file* so it starts in /var/www/INGInious
If you can provide any logs it'll be helpful :smile:
Shlomi Hod
@shlomihod
@doriitamar it didnt work
this is the httpd's error_log
[Sat Oct 21 21:46:45.705587 2017] [wsgi:error] [pid 2974] 2017-10-21 21:46:45,704 - inginious.agent.docker - ERROR - Cannot make con
tainer temp directory! [Errno 2] No such file or directory: './agent_tmp/tmp8xgohumt'
[Sat Oct 21 21:46:45.705597 2017] [wsgi:error] [pid 2974] Traceback (most recent call last):
[Sat Oct 21 21:46:45.705598 2017] [wsgi:error] [pid 2974]   File "/lib/python3.5/site-packages/inginious/agent/docker_agent.py", lin
e 327, in handle_new_job
[Sat Oct 21 21:46:45.705600 2017] [wsgi:error] [pid 2974]     container_path = tempfile.mkdtemp(dir=self.tmp_dir)
[Sat Oct 21 21:46:45.705602 2017] [wsgi:error] [pid 2974]   File "/lib64/python3.5/tempfile.py", line 368, in mkdtemp
[Sat Oct 21 21:46:45.705603 2017] [wsgi:error] [pid 2974]     _os.mkdir(file, 0o700)
[Sat Oct 21 21:46:45.705606 2017] [wsgi:error] [pid 2974] FileNotFoundError: [Errno 2] No such file or directory: './agent_tmp/tmp8x
gohumt'
this directory exists in /var/www/INGInious
Itamar Dori
@doriitamar
@shlomihod It seems that tmp_dir is still set to it's default value. I don't know how to assist you if the value is properly set in your configuration file, but try to verify that.
Shlomi Hod
@shlomihod

I made some progress, but still similar error:


[Mon Oct 23 06:30:16.049216 2017] [wsgi:error] [pid 851] 2017-10-23 06:30:16,048 - inginious.agent.docker - INFO - Received request for jobid (b'\\x00\\xe2UX\\xec', '1cb712d5-5d79-4cda-8c29-64321ab6220a')
[Mon Oct 23 06:30:16.050976 2017] [wsgi:error] [pid 851] 2017-10-23 06:30:16,049 - inginious.agent.docker - ERROR - Cannot make container temp directory! [Errno 13] Permission denied: '/var/www/INGInious/agent_tmp/tmp1qx06_7a'
[Mon Oct 23 06:30:16.050986 2017] [wsgi:error] [pid 851] Traceback (most recent call last):
[Mon Oct 23 06:30:16.050988 2017] [wsgi:error] [pid 851]   File "/lib/python3.5/site-packages/inginious/agent/docker_agent.py", line 327, in handle_new_job
[Mon Oct 23 06:30:16.050990 2017] [wsgi:error] [pid 851]     container_path = tempfile.mkdtemp(dir=self.tmp_dir)
[Mon Oct 23 06:30:16.050991 2017] [wsgi:error] [pid 851]   File "/lib64/python3.5/tempfile.py", line 368, in mkdtemp
[Mon Oct 23 06:30:16.050993 2017] [wsgi:error] [pid 851]     _os.mkdir(file, 0o700)
[Mon Oct 23 06:30:16.050996 2017] [wsgi:error] [pid 851] PermissionError: [Errno 13] Permission denied: '/var/www/INGInious/agent_tmp/tmp1qx06_7a'
[Mon Oct 23 06:30:16.050999 2017] [wsgi:error] [pid 851]

This one part from `configuration.yaml:

local-config:
    tmp_dir: /var/www/INGInious/agent_tmp

and this is the /var/www/INGInious permissions:

drwxrwxrwx.  2 apache apache     6 Oct 22 22:34 agent_tmp
-rw-r--r--.  1 apache apache   398 Oct 22 20:20 configuration.yaml
-rw-rw-r--.  1 apache apache 34520 Jan 19  2017 LICENSE
-rw-rw-r--.  1 apache apache   131 Jan 19  2017 README.rst
drwxrwxr-x. 12 apache apache   239 Jan 19  2017 tutorial
Any ideas?
Shlomi Hod
@shlomihod
It seems it was the SELinux in CentOS 7
Now I've put it in permissive instead of enforcing, I'll check in the future how I should allow access to this directory
Shlomi Hod
@shlomihod
@anthonygego There is any way to run INGInious as LTI and still to have access to the webapp as admin?
Daniel Castro Alvarado
@0xDCA

Hello,

Is there any way to get the information about memory consumption and time taken from something run with run_student? I'm not sure if I can just measure the memory consumption of the run_student process because of the sandboxing stuff done there

Anthony Gégo
@anthonygego
@shlomihod Yes, you can make both the apps share the same task folder and set up the course as not accessible in the webapp, it will remain remain accessible via LTI. If you want to manage the LTI users via the webapp interface, you can pull the latest master version, but it is not yet documented
@0xDCA All the processes use the same kernel so you should be able to monitor the process consumption as for any other process
Shlomi Hod
@shlomihod
@anthonygego thanks! another question: It seems that no grade is returned to moodle, any idea what might cause for that? or how should i debug it? tnx!
this is the error logs from the apache:
[Mon Oct 30 05:36:40.608000 2017] [wsgi:error] [pid 15401] Traceback (most recent call last):
[Mon Oct 30 05:36:40.608002 2017] [wsgi:error] [pid 15401]   File "/lib/python3.5/site-packages/inginious/frontend/lti/lis_outcome_manager.py", line 59, in run
[Mon Oct 30 05:36:40.608004 2017] [wsgi:error] [pid 15401]     if lti.post_message(self._lti_consumers, consumer_key, service_url, xml):
[Mon Oct 30 05:36:40.608006 2017] [wsgi:error] [pid 15401]   File "/lib/python3.5/site-packages/inginious/common/customlibs/pylti.py", line 231, in post_message
[Mon Oct 30 05:36:40.608019 2017] [wsgi:error] [pid 15401]     content_type,
[Mon Oct 30 05:36:40.608021 2017] [wsgi:error] [pid 15401]   File "/lib/python3.5/site-packages/inginious/common/customlibs/pylti.py", line 198, in _post_patched_request
[Mon Oct 30 05:36:40.608023 2017] [wsgi:error] [pid 15401]     headers={'Content-Type': content_type})
[Mon Oct 30 05:36:40.608024 2017] [wsgi:error] [pid 15401]   File "/lib/python3.5/site-packages/oauth2/__init__.py", line 687, in request
[Mon Oct 30 05:36:40.608026 2017] [wsgi:error] [pid 15401]     connection_type=connection_type)
[Mon Oct 30 05:36:40.608027 2017] [wsgi:error] [pid 15401]   File "/lib/python3.5/site-packages/httplib2/__init__.py", line 1322, in request
[Mon Oct 30 05:36:40.608029 2017] [wsgi:error] [pid 15401]     (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
[Mon Oct 30 05:36:40.608031 2017] [wsgi:error] [pid 15401]   File "/lib/python3.5/site-packages/httplib2/__init__.py", line 1072, in _request
[Mon Oct 30 05:36:40.608032 2017] [wsgi:error] [pid 15401]     (response, content) = self._conn_request(conn, request_uri, method, body, headers)
[Mon Oct 30 05:36:40.608034 2017] [wsgi:error] [pid 15401]   File "/lib/python3.5/site-packages/httplib2/__init__.py", line 995, in _conn_request
[Mon Oct 30 05:36:40.608035 2017] [wsgi:error] [pid 15401]     conn.connect()
[Mon Oct 30 05:36:40.608037 2017] [wsgi:error] [pid 15401]   File "/lib64/python3.5/http/client.py", line 849, in connect
[Mon Oct 30 05:36:40.608038 2017] [wsgi:error] [pid 15401]     (self.host,self.port), self.timeout, self.source_address)
[Mon Oct 30 05:36:40.608040 2017] [wsgi:error] [pid 15401]   File "/lib64/python3.5/socket.py", line 712, in create_connection
[Mon Oct 30 05:36:40.608041 2017] [wsgi:error] [pid 15401]     raise err
[Mon Oct 30 05:36:40.608043 2017] [wsgi:error] [pid 15401]   File "/lib64/python3.5/socket.py", line 703, in create_connection
[Mon Oct 30 05:36:40.608044 2017] [wsgi:error] [pid 15401]     sock.connect(sa)
[Mon Oct 30 05:36:40.608047 2017] [wsgi:error] [pid 15401] TimeoutError: [Errno 110] Connection timed out
cmneville
@cmneville
Hi, I am trying to figure out how I want to host my INGInious site. I initially tried private hosting from an old computer at my house but I would prefer to use offsite webhosting. Just wondering if anyone had any help for where I should go for webhosting services. I cannot find a webhosting service that allows root access through ssh which, unless I am mistaken, is required to install the dependencies for INGInious as well as the platform itself. Any ideas?
Daniel Castro Alvarado
@0xDCA
@cmneville: Have you tried Digital Ocean?
Daniel Castro Alvarado
@0xDCA
@anthonygego Hello again.
We are currently working on a "taskbank". The idea is that we can have some sort of reference tasks that teachers can use for their courses. We would like to implement it as a plugin. As we don't want to duplicate the task management UI, we plan to use some courses as banks, and implement a UI to query them effectively. I have some questions about this:
  1. Is a similar feature in your plans?
  2. We would like to tag each task. We could implement a separate UI, but we think it would be better if we could add a new tab to the task creation form. Currently, there is no hook to do this from a plugin. Do you plan to add this? We were thinking about adding hooks like this to the codebase, and maybe we could send a PR if that seems useful for the base project.
  3. Currently, both tasks and courses are read from the file system. This makes it harder to query them (by name or tags, for example), as we would have to fetch everything in memory (which would be potentially inefficient). Is the idea (in the long term) to keep all this data in the filesystem only? Or do you plan to move some information to the database? We could implement this from the plugin, but I think it would be useful to have some hooks that are called when a task or course is created, modified or deleted. Would this be useful for you too?
Arne
@Arnei
Hey there,
we're trying to set the INGInious webapp up, but ran into a weird problem. We've created a course with tasks, but when we login as a student, we cannot register for the course. The error message reads: "Registration failed. Please check that you properly typed the password.", but the course requires not password. We tried to make the course settings as lenient as possible (always open, no access control), to no avail. Any idea what might be wrong?
Some pictures to describe what we're seeing
alt
alt
Markus
@Kingmakke
In addition to the course problem mentioned above:
If we create a user in the configuration file with the role as a student everything works fine. The problem occurs with users that registered and activated an account via mail.
Ohad Perry
@ohadperry9_twitter
UCL-INGI/INGInious#263 please help in debugging
Arne
@Arnei
Ok, we managed to resolve our problem. Apparently having multiple different authentication plugins active can cause one of the plugins to behave weirdly. We removed the demo_auth plugin and now the db_auth plugin works fine.
cmneville
@cmneville
Hi there, I have gotten my server setup and I am now trying to configure SSL using letsencrypt and I am having a lot of trouble. Is there a specific way that I should be doing things to use SSL with INGInious?
Anthony Gégo
@anthonygego
@shlomihod you can get "connection timed out" error message if https/ssl is announced in the headers by the webserver but the port is closed in the firewall rules
@cmneville to use letsencrypt you should make sure that the /.well-known path is served statically by the webserver and not redirected to inginious-webapp. Once you have such a directory statically accessible through the web, installing letsencrypt should be a piece of cake. You'll probably want to setup an automatic certificate renewal afterwards
Anthony Gégo
@anthonygego
@0xDCA Yes we'll probably offer a problem bank in the future but this will probably be a in a separated codebase. Yes you can add hooks and make PRs. We'll probably accept such PRs very easily as this allows to add features without using a different codebase. We are still thinking about a new task format to avoid putting frontend-related stuff in yaml files but keep the common things to make them usable without the db and easily redistributable.
Anthony Gégo
@anthonygego
@Kingmakke Probably an exception raised somewhere. Are you able to register the student manually as admin ? Do you have any idea of the username, realname, email tuple for this user ? Did you setup several auth methods that could have led to username clash ?
OK it seems it was the case