IONe

Contacts

Project Homepage IONe Docs Page github version Generate and Deploy Docs

Creators: IONe Cloud Support.pl slnt_opp

Migration to NoCloud / Deprecation Notice

IONe wasn't getting many updates recently, this is due to our work on NoCloud, which does everything IONe does and much more.
And ofcourse, NoCloud is easy to migrate to from IONe.
Check it out!

Table of Contents

Main features

  • Transparent showback

  • Balance

  • Modified user interface for VDC

System requirements

Package/Service/App Version Optional?
CentOS8Tested on this plaform only
OpenNebula5.10+(see Releases for
older ONe versions)
DataBase
MySQL MariaDB Server~8.0
PostgreSQL^13.3
Ruby2.5.5
Node12+
Ansible2.x.xyes
vCenter6.0/6.5/6.7yes
KVM-QEMUlatestyes
Azure (ASM)yes
Azure (ARM)yes
Amazon EC2yes

Install

  1. Download this repo using: git clone https://github.com/ione-cloud/ione

  2. Enter directory: cd ione

  3. Run install script as root: rake install

    Note: Works only with CentOS for now.

  4. Wait for complection.

  5. Fill /etc/one/ione.conf for proper work of IONe

  6. Fill /usr/lib/one/ione/modules/ansible/config.yml for proper work of Ansible module

6.1. Add oneadmin ssh-key to Ansible authorized_hosts list

  1. Fill all settings using IONe UI at ione-admin.your.domain.(Accessible only as oneadmin):

  2. Start the IONe up via systemctl start ione

Note: If you're using RVM or other solution to control Ruby versions(as an example if you're using CentOS 7), you may need to update ExecStart section in /usr/lib/systemd/system/ione.service with relevant ruby executable and set GEM_HOME and GEM_PATH environment variables explicitly, example below:

ExecStart=/usr/local/rvm/rubies/ruby-2.5.8/bin/ruby /usr/lib/one/ione/ione_server.rb
Environment=GEM_HOME=/usr/local/rvm/gems/ruby-2.5.8
Environment=GEM_PATH=/usr/local/rvm/gems/ruby-2.5.8:/usr/local/rvm/gems/ruby-2.5.8@global
Key Subkey Value
CAPACITY_COST CPU_COST CPU cost per hour
MEMORY_COST RAM cost per hour
DISK_COSTS DISKTYPE_0(e.g. SSD) cost per hour
DISKTYPE_1(e.g. HDD) cost per hour
DISK_TYPES comma separated list of types: SSD,HDD
PUBLIC_IP_COST cost per hour
IAAS_GROUP_ID ID of group for IaaS Users
PUBLIC_NETWORK_DEFAULTS PAAS Public IPs pool network ID for PaaS
IAAS Public IPs pool network ID for IaaS
VNETS_TEMPLATES VN_MAD(e.g. 802.1Q) VNs Types to VNs Templates mapping(types must be upper case)
NODES_DEFAULT HYPERIVSOR_0(e.g. VCENTER) OpenNebula host id
HYPERIVSOR_0(e.g. KVM) OpenNebula host id
CURRENCY_MAIN $/€/etc... this will be shown to user

Running in Docker

  1. Download needed files using:

shell mkdir ione && cd ione && \ wget https://raw.githubusercontent.com/Support-pl/ione/master/sys/ione.conf && \ wget https://raw.githubusercontent.com/Support-pl/ione/master/docker-compose.yml

  1. Pre-configure IONe in ione.conf if needed

  2. Configure credentials and endpoints in docker-compose.yml (reference below)

3.1 You may need to change tags to anything else from latest sometimes. Check Github packages to see latest published versions

  1. Start IONe using docker-compose up -d

Docker environment variables reference

ALPINE=true # just required to make IONe reading data from env instead of default ONe files
IONE_LOCATION=/ione # IONe root dir in container
ONE_LOCATION=/ione/sys # IONe configs dir path
LOG_LOCATION=/log # Path to dir to write IONe logs in
ONE_CREDENTIALS="oneadmin:passwd" # oneadmin or other ONe admin(!) user credentials
ONE_ENDPOINT="http://localhost:2633/RPC2" # ONe XML-RPC API endpoint

# Database connection(must be same DB with ONe and have at least READ access to ONe tables)
DB_BACKEND=mysql
DB_HOST=10.6.6.6
DB_USER=oneadmin
DB_PASSWORD:passwd
DB_DATABASE=opennebula

Thanks for choosing us, contacts for support are in “Contacts” section at the beginning of this README

Important Notes

CentOS, gem mysql2 and MariaDB

Most probably gem install mysql2 will fail on building native extentions. The most common solutions here are:

  1. Check if ruby-devel is installed correctly(yum install ruby-devel or rvm install 2.5-devel)

  2. Check if package MariaDB-shared is installed(yum install MariaDB-shared, it's case-sensistive)

Useful Doc-Pages