SODA installer project provides easy installation and basic deployment based on specific configurations for SODA Projects. The installer is created so as to support the integrated installation of specific projects for each SODA Release.
It is modular and specific project installation information is built based on the installation hooks and related configurations. Basically SODA installer plays a wrapper role to put all together and provide a simple installation for the users and experience overall solution.
Installer project is maintained by SODA Foundation directly.
SODA Installer supports installation of following SODA projects. If you want to install Orchestration, Sushi or Terra with Ceph backend, please use Installer version 1.7.0 or older.
- Delfin
- Terra/Hotpot (Api, Controller & Dock)
- Strato/Gelato (Multi-cloud)
- Orchestration
- Sushi (NBP)
- Dashboard
- Supported OS: Ubuntu 20.04, Ubuntu 18.04
- Prerequisite: Python 3.6 or above should be installed
Ensure no ansible & docker installed, OR Latest ansible and docker tools are installed with versions listed below or later. If ansible & docker is not installed in the OS, script install_dependencies.sh
will install it.
Update configurations for individual projects in installer/ansible/group_var/*.yml
and follow commands listed below.
- auth.yml
- common.yml
- dashboard.yml
- delfin.yml
- gelato-ha.yml
- gelato.yml
- hotpot.yml
- orchestration.yml
- osdsdb.yml
- osdsdock.yml
- srm-toolchain.yml
- sushi.yml
- telemetry.yml
Please refer SODA documentation for the detailed installation steps and configuration options available.
Installation steps for Strato : To install Strato(Multi-cloud) and Dashboard using ansible installer, please follow below steps.
sudo apt-get update && sudo apt-get install -y git
git clone https://github.com/sodafoundation/installer.git
cd installer/ansible
git checkout v1.8.0 # you may choose specific release version also
chmod +x install_dependencies.sh && source install_dependencies.sh
export PATH=$PATH:/home/$USER/.local/bin
Enable following configurations
- In file installer/ansible/group_vars/gelato.yml
enable_gelato.yml: true
- In file installer/ansible/group_vars/dashboard.yml
enable_dashboard: true
- In file installer/ansible/group_vars/common.yml
host_ip: <User's IP address, eg. 192.168.0.2>
Note :
- Change HOST_IP value in below export command also.
- To enable Storage Service Plan in Multi-cloud edit the configuration file installer/ansible/group_vars/common.yml as below
enable_storage_service_plans: true
export HOST_IP=192.168.0.2 # Change HOST_IP value to real host ip
sudo -E env "PATH=$PATH" ansible-playbook site.yml -i local.hosts -v
Installation steps for Delfin : To install Delfin, SRM tool chain and Dashboard using ansible installer, please follow below steps.
sudo apt-get update && sudo apt-get install -y git
git clone https://github.com/sodafoundation/installer.git
cd installer/ansible
git checkout v1.8.0 # you may choose specific release version also
chmod +x install_dependencies.sh && source install_dependencies.sh
export PATH=$PATH:/home/$USER/.local/bin
Enable following configurations
- In file installer/ansible/group_vars/delfin.yml
enable_delfin: true
- In file installer/ansible/group_vars/srm-toolchain.yml
install_srm_toolchain: true
- In file installer/ansible/group_vars/dashboard.yml
enable_dashboard: true
- In file installer/ansible/group_vars/common.yml
host_ip: <User's IP address, eg. 192.168.0.2>
export HOST_IP=192.168.0.2 # Change HOST_IP value to real host ip
sudo -E env "PATH=$PATH" ansible-playbook site.yml -i local.hosts -v
sudo -E env "PATH=$PATH" ansible-playbook clean.yml -i local.hosts -v
root@ubuntu2004:~/installer/ansible# ansible --version
ansible [core 2.13.5]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /root/.local/lib/python3.8/site-packages/ansible
ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
executable location = /root/.local/bin/ansible
python version = 3.8.10 (default, Jun 22 2022, 20:18:18) [GCC 9.4.0]
jinja version = 3.1.2
libyaml = True
root@ubuntu20:~/installer/ansible# python3 -m pip show ansible
Name: ansible
Version: 5.10.0
Summary: Radically simple IT automation
Home-page: https://ansible.com/
Author: Ansible, Inc.
Author-email: info@ansible.com
License: GPLv3+
Location: /usr/lib/python3/dist-packages
Requires: ansible-core
Required-by:
root@ubuntu20:~/installer/ansible# docker version
Client: Docker Engine - Community
Version: 20.10.21
API version: 1.41
Go version: go1.18.7
Git commit: baeda1f
Built: Tue Oct 25 18:02:21 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.21
API version: 1.41 (minimum version 1.12)
Go version: go1.18.7
Git commit: 3056208
Built: Tue Oct 25 18:00:04 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.9
GitCommit: 1c90a442489720eec95342e1789ee8a5e1b9536f
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
root@ubuntu20:~/installer/ansible# docker compose version
Docker Compose version v2.12.2
test@T:~/installer$ ansible --version
[DEPRECATION WARNING]: Ansible will require Python 3.8 or newer on the controller starting with Ansible 2.12. Current version: 3.6.9
(default, Jun 29 2022, 11:45:57) [GCC 8.4.0]. This feature will be removed from ansible-core in version 2.12. Deprecation warnings can be
disabled by setting deprecation_warnings=False in ansible.cfg.
ansible [core 2.11.12]
config file = None
configured module search path = ['/home/test/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/test/.local/lib/python3.6/site-packages/ansible
ansible collection location = /home/test/.ansible/collections:/usr/share/ansible/collections
executable location = /home/test/.local/bin/ansible
python version = 3.6.9 (default, Jun 29 2022, 11:45:57) [GCC 8.4.0]
jinja version = 3.0.3
libyaml = True
test@T:~/installer$ python3 -m pip show ansible
Name: ansible
Version: 4.10.0
Summary: Radically simple IT automation
Home-page: https://ansible.com/
Author: Ansible, Inc.
Author-email: info@ansible.com
License: GPLv3+
Location: /home/test/.local/lib/python3.6/site-packages
Requires: ansible-core
Required-by:
test@T:~/installer/ansible$ docker version
Client: Docker Engine - Community
Version: 20.10.21
API version: 1.41
Go version: go1.18.7
Git commit: baeda1f
Built: Tue Oct 25 18:02:00 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/version": dial unix /var/run/docker.sock: connect: permission denied
test@T:~/installer/ansible$ docker compose version
Docker Compose version v2.12.2
https://docs.sodafoundation.io
https://docs.sodafoundation.io
https://docs.sodafoundation.io
https://github.com/sodafoundation/installer/releases
https://github.com/sodafoundation/installer/issues
https://sodafoundation.io/slack/
Join https://sodafoundation.io/slack/ and share your interest in the ‘general’ channel
Checkout https://github.com/sodafoundation/installer/issues labelled with ‘good first issue’ or ‘help needed’ or ‘help wanted’ or ‘StartMyContribution’ or ‘SMC’
We envision to provide fully automated, single click installation or deployment for SODA Solutions using all the projects integrated.
https://docs.sodafoundation.io
Website : https://sodafoundation.io
Slack : https://sodafoundation.io/slack/
Twitter : @sodafoundation
Mailinglist : https://lists.sodafoundation.io