Giter Site home page Giter Site logo

unias / docklet Goto Github PK

View Code? Open in Web Editor NEW
237.0 237.0 46.0 11.84 MB

OS for Virtual Private Cloud

Home Page: https://unias.github.io/docklet/

License: BSD 3-Clause "New" or "Revised" License

Shell 4.07% Python 64.64% CSS 0.11% JavaScript 1.35% HTML 28.10% Jupyter Notebook 1.73%

docklet's People

Contributors

anbo225 avatar caodg avatar cuizhicheng avatar fanshibear avatar firmlyreality avatar gallenshao avatar ghostplant avatar iteratorlee avatar jklj077 avatar leebaok avatar nsknojj avatar pedroliu avatar tangxiaoshuang avatar thinginitself avatar tpppppub avatar yinanzhu2015 avatar zhongyehong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docklet's Issues

recording the user's historical resource usage

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

vlanid share

the user in fundation group should share vlanid

time display in UserList

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

Admin panel

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

add LXCFS for container

with lxcfs, /proc filesystem in container is able to show the quota limited by cgroup, instead of showing the host hardware information.

nfs mountpoint bug in imagemgr.py

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.

Not Found error when just click "Sign in" Button

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.

enhance quota management

quota management enhancements

  • more quota item, like disk quota.
  • save quota information in separate json file

Making workers's state consistent with master

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.

display container owner

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.

Fail to create container

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' ".

Show disk usage in Summary of container

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)

[network] check IP and network pool when releasing IPs

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.

check typing and input on web pages and web server

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.

HTTPS

Opened for the course OS-Prac

give user a total quota, let themselves decide how to use quota

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.

[monitor] status page of normal user failed

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.

@FirmlyReality

independent starting of master and workers

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.

lxc config string in config file is limited in 16 bytes

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.

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.