Nimbus - Open Source Cloud Computing Software - 100% Apache2 licensed

Related tags

Miscellaneous nimbus
Overview

⚠️ The Nimbus infrastructure project is no longer under development. ⚠️

For more information, please read the news announcement. If you are interested in providing IaaS capabilities to the scientific community, see CHI-in-a-Box, a packaging of the Chameleon testbed, which has been in development since 2014.


Nimbus

Open Source IaaS Cloud Computing Software



Check the online documentation for full details on installing and configuring: http://www.nimbusproject.org/docs/

Run this command to build, install, and configure Nimbus to a specified path:

./install /path/to/destination

Note: This is an interactive program, you will be asked a few questions at the end.

To upgrade from an existing Nimbus installation, visit the current upgrade guide to learn how to use the install-from command.

http://www.nimbusproject.org/docs/current/admin/upgrading.html

Advanced users may also want to build and deploy to an existing GT4.0 container. Refer to the readme and scripts in the scripts/ directory for more information.


Note that the most recent activity in this repository will usually be in branches.

Comments
  • Bug7101

    Bug7101

    This branch is to fix a problem discussed starting here in Campfire, and explained further in bug 7101.

    To solve this, I replaced the current locking solution with flock, as in the other libexec scripts.

    I'm fairly confident about this part of the patch, but I noticed there's some locking in dhcp-conf-alter.py. I don't think there should be any side effects, but I don't know. Hence, the pull request.

    opened by oldpatricka 10
  • Adding a partition Label to the created blankspace partition

    Adding a partition Label to the created blankspace partition

    A Label on the blankspace partition will allow mounting via Label instead of device, this makes it easier in fstab where the device of the blankspace partition may change.

    opened by mhpx 7
  • Terminating instances cause some status queries to hang

    Terminating instances cause some status queries to hang

    When terminating an instance, any global status query and any status query on the instance hangs.

    This is caused by the WorkspaceHomeImpl:destroy method taking a per-instance lock for the duration of the whole termination. This includes a lengthy call to the workspace control agent. The WorkspaceHomeImpl:find method also tries to take this lock and hangs while the termination is in progress.

    opened by priteau 6
  • lantorrent corruption

    lantorrent corruption

    We have noticed an issue with lantorrent that causes it to hang and become unresponsive. The situation that causes this can be reproduced by repeating the following steps.

    -Start up an instance/cluster either using the cloud-client or ec2 api. -Issue a terminate before the propagation has completed.

    After this occurs the database is left with the entries as stale records, which never seem to get updated. If this occurs either after a large termination or after repeated executions of the above process, lantorrent stops copying any new requests. Looking at the lantorrent daemon log shows this error:

    2011-11-21 11:37:27,422 - WARNING - Stack trace 2011-11-21 11:37:27,423 - WARNING - =========== 2011-11-21 11:37:27,423 - WARNING - Traceback (most recent call last): File "build/bdist.linux-x86_64/egg/pylantorrent/ltConnection.py", line 114, in send self._write_to_socket(data) File "build/bdist.linux-x86_64/egg/pylantorrent/ltConnection.py", line 99, in _write_to_socket self.socket.sendall(data) File "", line 1, in sendall error: [Errno 104] Connection reset by peer

    2011-11-21 11:37:27,423 - WARNING - =========== 2011-11-21 11:37:27,423 - WARNING - <class 'socket.error'>

    If we clear out the req.db file and restart lantorrent, all seems to be well again. This is occurring in our production environment of 2.7, as well as devel which is at 2.8.

    Please let me know what other information you need in order to help troubleshoot this.

    Thanks, Brian

    opened by bc-umigs 5
  • nimbus-new-user doesn't support addresses with the '+' character

    nimbus-new-user doesn't support addresses with the '+' character

    The nimbus-new-user does accept email addresses with the '+' character in the leading portion of the username, which are perfectly legitimate email addresses. For instance [email protected].

    When attempt to run nimbus-new-user with such an address, the following error is triggered:

    ./nimbus-new-user --dest /tmp --batch --web --group=3 --report=cert,key,dn,canonical_id,access_id,access_secret,url,web_id,cloud_properties [email protected] Traceback (most recent call last): File "/opt/nimbus/libexec/nimbus_new_user.py", line 420, in rc = main() File "/opt/nimbus/libexec/nimbus_new_user.py", line 407, in main create_user(o, db) File "/opt/nimbus/libexec/nimbus_new_user.py", line 340, in create_user raise ex1 nimbusweb.setup.setuperrors.UnexpectedError: Problem creating certificate. [<<< stderr: 'Problem creating certificate: String index out of range: -1

    2.9 
    opened by buzztroll 4
  • LANTorrent can't be installed without an Internet connection

    LANTorrent can't be installed without an Internet connection

    With the new version of LANTorrent "repackaged to be more pythonic", it is not possible to do an installation without Internet anymore. The installer tries to fetch Python libraries, like simplejson 2.1.

    We need some mechanism to embed the libraries, like it was done with cumulus.

    opened by priteau 4
  • virtio support in generated libvirt xml

    virtio support in generated libvirt xml

    Kyle Fransham suggested enabling virtio for KVM instances in this workspace-user post: http://lists.globus.org/pipermail/workspace-user/2011-March/001630.html

    This should be integrated. And more generally, can we make libvirt XML more of a template that can be edited by admins to suit their needs?

    Feature 
    opened by labisso 4
  • Splitblank

    Splitblank

    Added feature to specify a separate location for the blankspace partition file in the control/etc/workspace-control/images.conf "blankspacedir" left the default value in conf to be secureimages Feature requested from user due to disk performance/space issues on cluster where large amounts of blankspace were needed and the local filesystem only had space for the image files, and using a networked filesystem for both blankspace and instance caused poor IO on the network filesystem.

    opened by mhpx 3
  • cloud client does not return non-zero exit code when failing to --run a --cluster

    cloud client does not return non-zero exit code when failing to --run a --cluster

    When using the cloud client, I recently ran into a problem where the 2 node cluster I requested was not provided due to some error. However, when I checked $? immediately after cloud-client returned, it was still 0. In case of failure, cloud-client should return a non-zero exit code to signal failure to any wrapping entity.

    opened by voeckler 3
  • Nimbus service goes into infinite loop when requesting a VM that has needs more memory than available on any node

    Nimbus service goes into infinite loop when requesting a VM that has needs more memory than available on any node

    Nimbus service goes into infinite loop when requesting a VM that has needs more memory than available on any node... but only for some host/guest memory values.

    I can repeat the bug with these values: nodes have 3072 MB of memory, and the VM is requested with 3584 MB. This happens both with the cloud client and the EC2 API.

    Excerpt from the logs:

    2011-01-29 23:04:38,610 DEBUG defaults.DefaultSlotManagement [ServiceThread-26,reserveSpace:402] request for 1 space(s) with mem = 3584 2011-01-29 23:04:38,613 ERROR defaults.ResourcepoolUtil [ServiceThread-26,getAvailableEntries:267] No resource is available for this request (based on memory). 2011-01-29 23:04:38,614 INFO async.AsyncRequestManagerImpl [ServiceThread-26,releaseSpace:325] 3584MB RAM have to be freed to give space to higher priority requests

    (repeated many times)

    interlaced with this:

    2011-01-29 23:04:38,676 WARN async.AsyncRequestManagerImpl [ServiceThread-26,releaseSpace:331] [NIMBUS-EVENT]: Asynchronous requests are consuming 0MB RAM , but AsyncRequestManager was requested to free 3584MB RAM. Freeing 0MB RAM.

    2.7 
    opened by priteau 3
  • Allow Cross Server Redirects in https staging

    Allow Cross Server Redirects in https staging

    This is disabled right here: https://github.com/nimbusproject/nimbus/blob/master/control/src/python/workspacecontrol/defaults/imageprocurement/propagate_https.py#L185

    I don't see any reason we shouldn't allow this. Does anyone have any objections?

    opened by oldpatricka 2
  • pyOpenSSL 0.13 dependency

    pyOpenSSL 0.13 dependency

    With the latest nimbus version the cumulus-deps.tar.gz archive is still downloaded which brings dependencies like pyOpenssl-0.10 and pyOpenSSL-0.13 into the mix. The newest pyOpenSSL version which still compiles against newer openssl versions is 0.14. To be able to compile against a not out of date version of openssl this dependency needs to be updated. Is there any code that requires this old pyOpenSSL versions?

    opened by BlackLotus 1
  • S3Connection.get_bucket throws a 400 error on boto 2.32

    S3Connection.get_bucket throws a 400 error on boto 2.32

    The same issue doesn't repro on boto 2.2.2 and older, it starting appearing on boto 2.32. You can validate by running the rollowing snippet:

    import boto
    from boto.s3.connection import S3Connection
    from boto.s3.connection import OrdinaryCallingFormat
    from boto.s3.key import Key
    
    bucket="test"
    access_key="ACCESS_KEY"
    secret_key="SECRET_KEY"
    host="localhost"
    port=4288
    
    s3conn = S3Connection(access_key,secret_key, is_secure=False,port=port,host=host, calling_format=OrdinaryCallingFormat())
    s3conn.create_bucket(bucket)
    
    # Throws
    b = s3conn.get_bucket(bucket)
    print(b)
    

    The nimbus log for the issue is:

    2014-12-03 07:46:59,616 - 18017 - INFO - Access granted to ID=u87xc9prmanQD8DlvkPWn requestId=8fff49c47ac011e4a339005056b5d1fb uri=/test/
    2014-12-03 07:46:59,616 - 18017 - INFO - path /test/
    2014-12-03 07:46:59,616 - 18017 - INFO - path /test/ bucket files object None
    2014-12-03 07:46:59,623 - 18017 - ERROR - <?xml version="1.0" ?><Error><Code>InvalidArgument</Code><Message>Invalid Argument</Message><Resource>/test/</Resource><RequestId>8fff49c47ac011e4a339005056b5d1fb</RequestId></Error>
    2014-12-03 07:46:59,623 - 18017 - ERROR - Stack trace
    2014-12-03 07:46:59,624 - 18017 - ERROR - ===========
    2014-12-03 07:46:59,624 - 18017 - ERROR - Traceback (most recent call last):
      File "/opt/cumulus/lib/python2.7/site-packages/pycb-0.1-py2.7.egg/pycb/cumulus.py", line 172, in process_event
        self.allowed_event(request, user, requestId, rPath)
      File "/opt/cumulus/lib/python2.7/site-packages/pycb-0.1-py2.7.egg/pycb/cumulus.py", line 184, in allowed_event
        cbR = self.request_object_factory(request, user, path, requestId)
      File "/opt/cumulus/lib/python2.7/site-packages/pycb-0.1-py2.7.egg/pycb/cumulus.py", line 156, in request_object_factory
        raise cbException('InvalidArgument')
    cbException: Invalid Argument
    
    2014-12-03 07:46:59,624 - 18017 - ERROR - ===========
    2014-12-03 07:46:59,624 - 18017 - ERROR - <class 'pycb.cbException.cbException'>
    
    opened by rberrelleza 1
  • Quering for All instances

    Quering for All instances

    Hi, I am getting this error after cloud-client.sh --status:

    Problem: General error: ; nested exception is: java.net.ConnectException: Connection refused

    opened by SofianeB 1
  • boto raises IndexError when getting an unknown key

    boto raises IndexError when getting an unknown key

    Since this pull request was merged in boto, calling get_key_pair on Nimbus with an unknown key raises an IndexError.

    This is because Nimbus returns an empty array, while boto expects a 400 Bad Request response like Amazon EC2 does.

    opened by priteau 0
  • nimbus-reset-state -e deletes SSH keypairs

    nimbus-reset-state -e deletes SSH keypairs

    nimbus-reset-state -e is supposed to reset IaaS databases, the runtime tracking of VM/VMM state, network leases, etc.

    It deletes elastic.db, which also contains SSH keypairs uploaded with the EC2 API. Generally an administrator will want to keep these keypairs, so nimbus-reset-state should instead only purge the instances and reservations tables.

    opened by priteau 0
Owner
Nimbus
Nimbus is cloud computing for science.
Nimbus
Source-o-grapher is a tool built with the aim to investigate software resilience aspects of Open Source Software (OSS) projects.

Source-o-grapher is a tool built with the aim to investigate software resilience aspects of Open Source Software (OSS) projects.

Aristotle University 5 Jun 28, 2022
Retrying is an Apache 2.0 licensed general-purpose retrying library, written in Python, to simplify the task of adding retry behavior to just about anything.

Retrying Retrying is an Apache 2.0 licensed general-purpose retrying library, written in Python, to simplify the task of adding retry behavior to just

Ray Holder 1.9k Dec 29, 2022
A deployer and package manager for OceanBase open-source software.

OceanBase Deploy OceanBase Deploy (简称 OBD)是 OceanBase 开源软件的安装部署工具。OBD 同时也是包管理器,可以用来管理 OceanBase 所有的开源软件。本文介绍如何安装 OBD、使用 OBD 和 OBD 的命令。 安装 OBD 您可以使用以下方

OceanBase 59 Dec 27, 2022
Hashcrack - A non-object oriented open source, Software for Windows/Linux made in Python 3

Multi Force This project is a non-object oriented open source, Software for Wind

Radiationbolt 3 Jan 2, 2023
Prophet is a tool to discover resources detailed for cloud migration, cloud backup and disaster recovery

Prophet is a tool to discover resources detailed for cloud migration, cloud backup and disaster recovery

null 22 May 31, 2022
IPython: Productive Interactive Computing

IPython: Productive Interactive Computing Overview Welcome to IPython. Our full documentation is available on ipython.readthedocs.io and contains info

IPython 15.6k Dec 31, 2022
A simple and efficient computing package for Genshin Impact gacha analysis

GGanalysisLite计算包 这个版本的计算包追求计算速度,而GGanalysis包有着更多计算功能。 GGanalysisLite包通过卷积计算分布列,通过FFT和快速幂加速卷积计算。 测试玩家得到的排名值rank的数学意义是:与抽了同样数量五星的其他玩家相比,测试玩家花费的抽数大于等于比例

一棵平衡树 34 Nov 26, 2022
freeCodeCamp Scientific Computing with Python Project for Certification.

Time_Calculator_freeCodeCamp freeCodeCamp Scientific Computing with Python Project for Certification. Write a function named add_time that takes in tw

Rajdeep Mondal 1 Dec 23, 2021
The Open edX platform, the software that powers edX!

This is the core repository of the Open edX software. It includes the LMS (student-facing, delivering courseware), and Studio (course authoring) compo

edX 6.2k Jan 1, 2023
An open letter in support of Richard Matthew Stallman being reinstated by the Free Software Foundation

An open letter in support of RMS. To sign, click here and name the file <username>.yaml (replace <username> with your name) with the following content

null 2.4k Jan 7, 2023
chiarose(XCR) based on chia(XCH) source code fork, open source public chain

chia-rosechain 一个无耻的小活动 | A shameless little event 如果您喜欢这个项目,请点击star 将赠送您520朵玫瑰,可以去 facebook 留下您的(xcr)地址,和github用户名。 If you like this project, please

ddou123 376 Dec 14, 2022
100 Days of Python Programming

100 days of Python Following the initiative of my friend Helber Belmiro, who is almost done with his 100 days of Java, I have decided to start my 100

Henrique Pereira 19 Nov 8, 2021
Hacking and Learning consistently for 100 days straight af.

#100DaysOfHacking Hacking and Learning consistently for 100 days straight af. [yes, no breaks except mental-break ones, Obviously.] This Repo is one s

FENIL SHAH 17 Sep 9, 2022
an opensourced roblox group finder writen in python 100% free and virus-free

Roblox-Group-Finder an opensourced roblox group finder writen in python 100% free and virus-free note : if you don't want install python or just use w

mollomm1 1 Nov 11, 2021
We want to check several batch of web URLs (1~100 K) and find the phishing website/URL among them.

We want to check several batch of web URLs (1~100 K) and find the phishing website/URL among them. This module is designed to do the URL/web attestation by using the API from NUS-Phishperida-Project.

null 3 Dec 28, 2022
Registro Online (100% Python-Mysql)

Registro elettronico scritto in python, utilizzando database Mysql e Collegando Registro elettronico scritto in PHP

Sergiy Grimoldi 1 Dec 20, 2021
A 100% python file organizer. Keep your computer always organized!

PythonOrganizer A 100% python file organizer. Keep your computer always organized! To run the project, just clone the folder and run the installation

null 3 Dec 2, 2022
A free and open-source chess improvement app that combines the power of Lichess and Anki.

A free and open-source chess improvement app that combines the power of Lichess and Anki. Chessli Project Activity & Issue Tracking PyPI Build & Healt

null 93 Nov 23, 2022
🏆 A ranked list of awesome Python open-source libraries and tools. Updated weekly.

Best-of Python ?? A ranked list of awesome Python open-source libraries & tools. Updated weekly. This curated list contains 230 awesome open-source pr

Machine Learning Tooling 2.7k Jan 3, 2023