unias / docklet Goto Github PK
View Code? Open in Web Editor NEWOS for Virtual Private Cloud
Home Page: https://unias.github.io/docklet/
License: BSD 3-Clause "New" or "Revised" License
OS for Virtual Private Cloud
Home Page: https://unias.github.io/docklet/
License: BSD 3-Clause "New" or "Revised" License
Currently the workers must be started after the master, which is not reasonable. The workers should be able to start even if the master has not started, and wait for the master joining in. In other words, the administrator can restart the master without restarting the workers.
User Token should expire after some time, and then user need to login again.
fork from https://github.com/jupyter/notebook, add feature of displaying file size, modification time, using this version notebook in docklet base image.
finally try submit a pull request to notebook.
open for the course OS-Prac
Big File Upload for OS practice
The register date displayed seems to be in UTC time, which is not convenient for non UTC timezone users. @PedroLiu
The image save time and workspace start time is using EastAsia/Shanghai timezone, which is possibly the default setting of the physical host.
So @PedroLiu should at least display the time using default timezone.
And maybe we should let admin specify timezone docklet uses, then show time according to this timezone? @zhongyehong
If the user leaves username and password empty, just click "Sign in" button, he will get a "Not Found" error.
Not Found
The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
We have moved nfs mountpoint from / to /root, but i have not changed the rsync parameter in imagemgr.py
rsync -a --delete --exclude=nfs/
it should be
rsync -a --delete --exclude=root/nfs/
i will fix it today or tomorrow.
We need to periodically record the resource usage of the user's all containers, especially the CPU usage.
Note that for a container named ct, if we stop it and restart it, the lxc-info -n ct command will only get the current usage info from the restarting time. The previous history usage info will get lost. So we need a deliberate design to record all the historical resource usage.
@FirmlyReality
@leebaok @zhongyehong @monumentality
Error info is below.
File "/home/liupd/docklet/src/userManager.py", line 619, in modify
self.set_nfs_quota(user_modify.username,res['data']['data'])
KeyError: 'data'
@zhongyehong , Please fix it
with lxcfs, /proc filesystem in container is able to show the quota limited by cgroup, instead of showing the host hardware information.
Not 8000.
Administrators could simply decline or approve the activation requests by click a button. Also the administrators can give some reasons why the requests declined.
Current Status table is :
Current Status:
Name | State | IP Address | CPU Use | CPU Quota | Mem Use |
---|---|---|---|---|---|
0006175153-30-0 | Running | 172.16.0.54 | 78.63 seconds | 2 Cores | 0.80% (122.45MiB/15258.79MiB) |
could be
Current status of 0006175153-30-0:
State | IP Address | CPU Usage | Mem Usage | Disk Usage |
---|---|---|---|---|
Running | 172.16.0.54 | 78.63 seconds (2 Cores) | 0.80% (122.45MB/15258.79MB) | 60% (1200MB/2000MB) |
when creating a container, give them a choice and a default config, they can choose to create one strong container, or several weak containers. strong container will cost more resources (we will use bean to measure the cost), while weak container cost less.
so users can visit docklet homepage more easily
tmp should be mounted from host folder,not use the space of lvm.
Opened for the course OS-Prac
status page of normal user failed.
I have saw the code of httprest.py and the bug is in line 348 ~ line 380.
The code below self.response will be executed also, except you put return after self.response.
For normal user, status page will request httprest with /monitor/user/quotainfo, I think line 349 of httprest.py should be executed but line 355 should not be executed. Right? So, you should fix this soon.
Opened for course os-prac
I create this issue in "Os Practice" milestone to respond to the OS practice course. Fanshixiong chooses this topic, @zhongyehong.
Many settings are now in docklet.conf. The problem is that the settings only take effect at master start time. But some settings should allow modification and should take effects immediately after getting modified. Therefore, there should be an admin panel, allow administrators to change system settings.
We could discuss which configuration should be placed here.
Lists:
The user token expiration time in #48
show user's quota information in their status pages.
Now, we not check whether IPs are in network pools when releasing IPs.
This may cause some IP pools have duplicated IPs.
For example, someone may double click the delete button of one workspace and IPs of this workspace will be released twice.
So, checking IP and network pools is necessary.
Opened for the course OS-Prac
We should check whether typing on web pages is valid.
And checking input of web server is necessary.
For example, user may name workspace 'My Homepage no.1'. But space character is not valid for workspace name. This may cause user unable to start workspace.
Can only display a part of the user table, unable to scroll the table
quota management enhancements
In the Node list for host x.x.x.x, the ** PID ** field is valueless. So please replace it with the user's Truename, which could be more helpful.
so that mpi and spark cluster will not ask for host key checking.
lxc.custom.conf should be appended in container.conf
not replace container.conf
changing nickname, avatar, description should take effects immediately.
After starting a container, we can't stop it.
move UserTable, quota, and other system level data to global/sys
The Profile and Logout buttons has no background colour, therefore are easy to be neglected. Please make them clear.
This is a succeeding issue of #8. Currently if we restart master, we need not to restart workers. But if we initialise the master, the workers will not work correctly. Therefore, we need to make the workers consistent with the master, regarding whether the master being restarted or initialised.
open for course OS-Prac
After starting the master and worker, it is reported by master that "container created failed". And in the worker's log, it is reported that there is an error at line 133 in "container.py". The log is "ERROR container[133] 'disk' ".
lxc config string should be less than 16 bytes.
For example, if lxc.network.veth.pair is 'leebaokleebaok-0', container will start failed.
Now, we use UserName-ID-Offset as lxc.network.veth.pair and this may exceed the limited length.
the web module should log user's activity, but not sensitive information, such as pass.
the user in fundation group should share vlanid
It should be foundation, but not fundation.
Event Driven Tasks Arch discussion of OS practice course.
external login failed and nothing output
not just calling sys_run and assume it will execute correctly. sometimes it will fail and the failure info will get lost.
open for course OS-Prac
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.