Giter Site home page Giter Site logo

grycap / im Goto Github PK

View Code? Open in Web Editor NEW
59.0 14.0 21.0 28.77 MB

Infrastructure Manager

Home Page: https://www.grycap.upv.es/im

License: GNU General Public License v3.0

Python 99.46% Shell 0.31% Dockerfile 0.23%
cloud devops infrastructure-management contextualization tosca ansible

im's Introduction

IM - Infrastructure Manager

PyPI Tests Codacy Badge Codacy Badge License Docs SQAaaS badge

IM is a tool that deploys complex and customized virtual infrastructures on IaaS Cloud deployments (such as AWS, OpenStack, etc.). It eases the access and the usability of IaaS clouds by automating the VMI (Virtual Machine Image) selection, deployment, configuration, software installation, monitoring and update of the virtual infrastructure. It supports APIs from a large number of virtual platforms, making user applications cloud-agnostic. In addition it integrates a contextualization system to enable the installation and configuration of all the user required applications providing the user with a fully functional infrastructure.

Read the documentation and more at http://www.grycap.upv.es/im.

There is also an Infrastructure Manager YouTube reproduction list with a set of videos with demos of the functionality of the platform: https://www.youtube.com/playlist?list=PLgPH186Qwh_37AMhEruhVKZSfoYpHkrUp.

Please acknowledge the use of this software in your scientific publications by including the following reference:

Miguel Caballer, Ignacio Blanquer, German Molto, and Carlos de Alfonso. "Dynamic management of virtual infrastructures". Journal of Grid Computing, Volume 13, Issue 1, Pages 53-70, 2015, ISSN 1570-7873, DOI: 10.1007/s10723-014-9296-5.

Achievements

SQAaaS badge

This software has received a gold badge according to the Software Quality Baseline criteria defined by the EOSC-Synergy project.

1 DOCKER IMAGE

The recommended option to use the Infrastructure Manager service is using the available docker image. A Docker image named ghcr.io/grycap/im has been created to make easier the deployment of an IM service using the default configuration. It is available in the IM Github Container registry.

How to launch the IM service using docker::

sudo docker run -d -p 8899:8899 -p 8800:8800 --name im ghcr.io/grycap/im

To make the IM data persistent you also have to specify a persistent location for the IM database using the IM_DATA_DB environment variable and adding a volume::

sudo docker run -d -p 8899:8899 -p 8800:8800 -v "/some_local_path/db:/db" \
                -e IM_DATA_DB=/db/inf.dat --name im ghcr.io/grycap/im

You can also specify an external MySQL server to store IM data using the IM_DATA_DB environment variable::

sudo docker run -d -p 8899:8899 -p 8800:8800 \
                -e IM_DATA_DB=mysql://username:password@server/db_name \
                --name im ghcr.io/grycap/im

Or you can also add a volume with all the IM configuration::

sudo docker run -d -p 8899:8899 -p 8800:8800 \
                -v "/some_local_path/im.cfg:/etc/im/im.cfg"
                --name im ghcr.io/grycap/im

2 Kubernetes Helm Chart

The IM service and web interface can be installed on top of Kubernetes using Helm.

How to install the IM chart:

First add the GRyCAP repo:

helm repo add grycap https://grycap.github.io/helm-charts/

Then install the IM chart (with Helm v2):

helm install --namespace=im --name=im  grycap/IM

Then install the IM chart (with Helm v3):

helm install --namespace=im --create-namespace im  grycap/IM

All the information about this chart is available at the IM chart README.

3 CONFIGURATION

Check the parameters in $IM_PATH/etc/im.cfg or /etc/im/im.cfg. See IM Manual to get a full reference of the configuration variables.

Please pay attention to the next configuration variables, as they are the most important:

DATA_DB - must be set to the URL to access the database to store the IM data. Be careful if you have two different instances of the IM service running in the same machine!!. It can be a MySQL DB: mysql://username:password@server/db_name, SQLite: sqlite:///etc/im/inf.dat or MongoDB: mongodb://username:password@server/db_name,

3.1 SECURITY

Security is disabled by default. Please notice that someone with local network access can "sniff" the traffic and get the messages with the IM with the authorisation data with the cloud providers.

Security can be activated both in the XMLRPC and REST APIs. Setting this variables:

XMLRCP_SSL = True

or

REST_SSL = True

And then set the variables: XMLRCP_SSL_* or REST_SSL_* to your certificates paths.

im's People

Contributors

alfonsopg avatar alldaudinot avatar amcaar avatar antoniosanch3z avatar borjaest avatar eromero-vlc avatar gmolto avatar grycap-jenkins avatar micafer avatar pmontoliurico avatar sebastian-luna-valero avatar tirkarthi 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

Watchers

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

im's Issues

SSL Error in OCCI conector

SSLError: ("bad handshake: Error([('SSL routines', 'ssl3_read_bytes', 'tlsv1 alert unknown ca')],)",)

Reuse the same keypair for all the VMs of the same infrastructure

When deploying a multi-node infrastructure with the IM on AWS, different keypairs are created for the different VMs of the same infrastructure. It would be convenient to create a single keypair and reuse that keypair in all the nodes of the infrastructure. This way, access via SSH to the different nodes will be much easier from the user point of view (retrieve a single private key vs retrieving N private keys for N nodes).

Improve Error Message for InvalidParameterCombination

When deploying an instance of AWS through the IM, depending on the combination of instance type and AMI it may fail throwing up this error:

InvalidParameterCombinationNon-Windows instances with a virtualization type of 'hvm' are currently not supported for this instance type.

In these circumstances, the error message does not show the AMI, instance type, VPC id and subnet id. Showing this information in the error message may better help isolate the root cause of error.

Error getting VM info

In some cases when asking for the VM info it returns error when the VM does exist.

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.