This project is part of NUBOMEDIA
NUBOMEDIA Autonomous Installer - http://www.nubomedia.eu
In order to be able to install the nubomedia-autonomous-installer you have to check that your current python version is 2.7.XX with the following command:
python --version
Then you should install pip and after that you should install the dependecies using the following commands. When asked for any kind read it first and then confirm:
easy_install pip
pip install -r requirements.txt --upgrade
You should have root access to the OpenStack environment in order to install and configure the nova-docker hypervisor and the patch for it from (https://github.com/usv-public/nubomedia-nova-docker) on the compute nodes that should run docker as a hypervisor.
Before starting the installation you must rename the variables-examples.py to variables.py. And then replace each variable with the desired value.
mv variables-example.py variables.py
auth_url = 'http://x.x.x.x:5000/v2.0'
username = 'admin'
password = 'pass'
tenant_name = 'admin'
x.x.x.x is the public IP address of your OpenStack.
glance_endpoint = 'http://x.x.x.x:9292'
x.x.x.x is the public IP address of your OpenStack.
This step is not needed if you already have nova-docker hypervisors installed on your OpenStack env. and you have applied the patch from the following repository: https://github.com/usv-public/nubomedia-nova-docker .
master_ip = 'x.x.x.x'
master_user = 'root'
master_pass = None
master_key = 'master_id_rsa'
x.x.x.x is the public IP address of your OpenStack.
master_user is a ssh user with root permission on the OpenStack.
For authentication you should either define the master_pass as a string variable betwen queotes or you can copy to the autonomous-installer directory the necessary private key for authenticatin on the master. The private key should not be password proteted.
floating_ip_pool = 'external'
private_key = 'private_key_for_accesssing_instances'
openshift_ip = 'x.x.x.x'
openshift_keystore = keystore
openshift_token = xyxyxyxyxyx
openshift_domain = apps.example.com
You should generate the OpenShift token using the details found here : https://docs.openshift.com/enterprise/3.1/rest_api/index.html#rest-api-serviceaccount-tokens
The openshift_domain name should be having a wildcard DNS entry pointing to the OpenShift public IP.
You should also define the floating (public) IP pool name for the OpenStack.
It is best to also add a public key on the OpenStack tenant you want to deploy NUBOMEDIA and then add the private key file to the autonomous-installer directory in order to allow it to customize the instances after deployment.
x.x.x.x represents the public IP address of the OpenShift PaaS.
You should download all the NUBOMEDIA images and store them on the http://repository.nubomedia.eu/images/ directory.
kms_qemu_img = 'resources/images/kurento-media-server.qcow2'
kms_image_name = 'kurento-media-server'
kms_image_description = 'Kurento Media Server image for KVM hypervisor'
kms_qemu_flavor = 'm1.medium'
Kurento Media Server requires a flavor with at least 2GB of ram, 1 x86_64 CPU and 5GB of disk space.
kms_docker_img = 'nubomedia/kurento-media-server'
kms_docker_image_description = 'Please login with root user and your docker image root password'
kms_docker_flavor = 'd1.medium'
The Docker image for kurento-media-server is stored on the NUBOMEDIA dockerhub repository (https://hub.docker.com/r/nubomedia/kurento-media-server/ ). The minimum flavor type would be at least 2GB of ram, 1 x86_64 CPU and 5GB of disk space.
monitoring_qemu_img = 'resources/images/nubomedia-monitoring.qcow2'
monitoring_image_name = 'nubomedia-monitoring'
monitoring_image_description = 'Please login with ubuntu user and your private_key'
monitoring_flavor = 'm1.medium'
The NUBOMEDIA Monitoring machine runs logstash, Kibana, and Graphite. All the logs of the media-server instances are stored on this machine. The required flavor for running it should have at least 2GB of ram, 1 x86_64 CPU and 15GB disk space.
turn_qemu_img = 'resources/images/nubomedia-turn.qcow2'
turn_image_name = 'nubomedia-turn'
turn_image_description = 'Please login with ubuntu user and your private_key'
turn_flavor = 'm1.small'
The TURN Server should have at least 1G of RAM, 1 x86_64 CPU and 5GB disk space. All the NUBOMEDIA Kurento Media Server instances should be configured to use this server IP for TURN and STUN.
repository_qemu_img = 'resources/images/nubomedia-repository.qcow2'
repository_image_name = 'nubomedia-repository'
repository_image_description = 'Please login with ubuntu user and your private_key'
repository_flavor = 'm1.medium'
The NUBOMEDIA repository machine hosts the debian repository and on the http://repository.nubomedia.eu/apps/files/ you have the kurento-tutorial-java repository so you can use it as the APP server for some of the Kurento tutorials. The recommanded configuration is 1G of RAM, 1 x86_64 CPU and 5GB of disk space.
controller_qemu_img = 'resources/images/nubomedia-controller.qcow2'
controller_image_name = 'nubomedia-controller'
controller_image_description = 'Please login with ubuntu user and your private_key'
controller_flavor = 'm1.xlarge'
The NUBOMEDIA Controller instance hosts the VNFM and the NUBOMEDIA PaaS manager. The flavor type of for the nubomedia-controller should have at least 8GB of ram, 2 x86_64 CPU and 10GB disk space.
After defined all the necessary variables you can start the installer with the following command:
python main.py