IONe
Contacts
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? |
---|---|---|
CentOS | 8 | Tested on this plaform only |
OpenNebula | 5.10+(see Releases for older ONe versions) | |
DataBase | ||
MySQL MariaDB Server | ~8.0 | |
PostgreSQL | ^13.3 | |
Ruby | 2.5.5 | |
Node | 12+ | |
Ansible | 2.x.x | yes |
vCenter | 6.0/6.5/6.7 | yes |
KVM-QEMU | latest | yes |
Azure (ASM) | — | yes |
Azure (ARM) | — | yes |
Amazon EC2 | — | yes |
Install
-
Download this repo using:
git clone https://github.com/ione-cloud/ione
-
Enter directory:
cd ione
-
Run install script as root:
rake install
Note: Works only with CentOS for now.
-
Wait for complection.
-
Fill
/etc/one/ione.conf
for proper work of IONe -
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
-
Fill all settings using IONe UI at ione-admin.your.domain.(Accessible only as oneadmin):
-
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 setGEM_HOME
andGEM_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
-
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
-
Pre-configure IONe in
ione.conf
if needed -
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
-
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:
-
Check if ruby-devel is installed correctly(
yum install ruby-devel
orrvm install 2.5-devel
) -
Check if package MariaDB-shared is installed(
yum install MariaDB-shared
, it's case-sensistive)