Difference between revisions of "Cloudpulse/DeveloperNotes"
(→Mysql commands) |
|||
| (8 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
| − | == | + | == Steps to Install CloudPulse Server == |
| − | === | + | === Install RPM packages === |
| − | The following | + | The following RPM packages need to be installed. |
| − | + | yum install -y ansible mariadb-devel hostname gcc openstack-cloudpulse && yum clean all | |
| − | |||
| − | === | + | === Install Python packages === |
| − | The required | + | The required python packages need to be installed. |
| − | + | yum install -y python-oslo-versionedobjects python-novaclient python-cinderclient python-glanceclient python-neutronclient python-novaclient python-cinderclient python-glanceclient python-neutronclient python-pecan python-wsme python-paramiko python-openstackclient | |
| − | === | + | === Setup Cloudpulse database === |
| − | The | + | The MySQL commands need to be run in the MySQL database host <db_host_ip>. |
| − | * CREATE DATABASE cloudpulse; | + | * Create cloudpulse databse. |
| − | * | + | CREATE DATABASE IF NOT EXISTS cloudpulse DEFAULT CHARACTER SET utf8; |
| − | + | * Grant all privileges to cloudpulse user for cloudpulse databse; set a password for cloudpulse user. | |
| − | * create table | + | GRANT ALL PRIVILEGES ON cloudpulse.* TO 'cloudpulse@%' IDENTIFIED BY '<cloudpulse_mysql_user_password>'; |
| + | * Create cpulse table in cloudpulse databse. | ||
| + | create table IF NOT EXISTS cpulse ( id int NOT NULL AUTO_INCREMENT, uuid VARBINARY(128), name VARCHAR(128), state VARCHAR(128), created_at timestamp default current_timestamp, updated_at timestamp default 0, testtype VARBINARY(128), result TEXT, primary key (id)); | ||
| + | * Create cpulselock table in cloudpulse databse. | ||
| + | create table IF NOT EXISTS cpulselock ( id int NOT NULL AUTO_INCREMENT, test_name VARBINARY(128), conductor_id VARBINARY(128), created_at timestamp default current_timestamp, updated_at timestamp default 0 , primary key (id)); | ||
| − | === | + | === Create keystone user, service and endpoint === |
The following services have to be setup to make cloudpulse as a service. | The following services have to be setup to make cloudpulse as a service. | ||
| − | * openstack user create --password- | + | * Create user cloudpulse and set its password. |
| − | * openstack role add --project | + | openstack user create --project service --password <cloudpulse_openstack_user_password> cloudpulse |
| − | + | * Create cloudpulse service. | |
| − | + | openstack service create --name cloudpulse --description "openstack health service" health | |
| + | * Add roles to cloudpulse user. | ||
| + | openstack role add --project admin --user cloudpulse admin | ||
| + | openstack role add --project service --user cloudpulse admin | ||
| + | * Create openstack service endpoint. | ||
| + | openstack endpoint create --region RegionOne --adminurl http://<host_ip>:9999 --internalurl http://<host_ip>:9999 --publicurl http://<host_ip>:9999 cloudpulse | ||
| − | === | + | === Create cloudpulse configuration file === |
| − | |||
| − | |||
| + | ## cloudpulse.conf | ||
| + | ## Modify and place this file in any location <path_cloudpulse.conf>. | ||
| + | |||
| + | [DEFAULT] | ||
| + | debug = False | ||
| + | verbose = True | ||
| + | logdir = <cloudpulse_log_dir> | ||
| + | host = <host_ip> | ||
| + | port = 9999 | ||
| + | |||
| + | [database] | ||
| + | connection = mysql://cloudpulse:<cloudpulse_mysql_user_password>@<db_host_ip>/cloudpulse?charset=utf8 | ||
| + | max_retries = -1 | ||
| + | |||
| + | [osapi_v3] | ||
| + | enabled = True | ||
| + | |||
| + | [keystone_authtoken] | ||
| + | auth_uri = http://<host_ip>:5000/v2.0 | ||
| + | project_domain_name = default | ||
| + | project_name = service | ||
| + | user_domain_name = default | ||
| + | password = <keystone_admin_password> | ||
| + | username = cloudpulse | ||
| + | auth_url = http://<host_ip>:35357 | ||
| + | auth_plugin = <cloudpulse_openstack_user_password> | ||
| + | |||
| + | [oslo_concurrency] | ||
| + | lock_path = /opt/stack/data/nova | ||
| + | |||
| + | [oslo_messaging_rabbit] | ||
| + | rabbit_userid = guest | ||
| + | rabbit_password = <rabbitmq_password> | ||
| + | rabbit_hosts = guest:<rabbitmq_password>@<controller_node_1_ip>:5672,guest:<rabbitmq_password>@<controller_node_2_ip>:5672,guest: <rabbitmq_password>@<controller_node_3_ip>:5672 | ||
| + | |||
| + | [periodic_tests] | ||
| + | nova_endpoint = 240 | ||
| + | neutron_endpoint = 240 | ||
| + | cinder_endpoint = 240 | ||
| + | glance_endpoint = 240 | ||
| + | keystone_endpoint = 240 | ||
| + | rabbitmq_check = 240 | ||
| + | galera_check = 240 | ||
| + | docker_check = 240 | ||
| + | node_check = 240 | ||
| + | ceph_check = 240 | ||
| + | |||
| + | ## Operator test only supported on containerized environments such as kolla/ansible openstack installer | ||
| + | [operator_test] | ||
| + | containerized = True | ||
| + | rabbit_container = `docker ps | grep rabbitmq | awk '{print $1}'` | ||
| + | galera_container = `docker ps | grep mariadb-app | awk '{print $1}'` | ||
| + | ceph_container = `docker ps | grep ceph-mon | awk '{print $1}'` | ||
| + | |||
| + | [operator_test] | ||
| + | operator_setup_file = <path_nodes_config.yaml> | ||
| + | |||
| + | ## Operator scenario is only supported on kolla environment | ||
| + | [scenario] | ||
| + | enabled_scenarios = endpoint_scenario,operator_scenario | ||
| + | |||
| − | + | === Start Cloudpulse Server === | |
| + | Clone cloudpulse repository and install cloudpulse. | ||
| − | + | git clone https://github.com/openstack/cloudpulse | |
| − | + | cd cloudpulse | |
| − | + | python setup.py install | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Latest revision as of 05:30, 17 May 2018
Contents
Steps to Install CloudPulse Server
Install RPM packages
The following RPM packages need to be installed.
yum install -y ansible mariadb-devel hostname gcc openstack-cloudpulse && yum clean all
Install Python packages
The required python packages need to be installed.
yum install -y python-oslo-versionedobjects python-novaclient python-cinderclient python-glanceclient python-neutronclient python-novaclient python-cinderclient python-glanceclient python-neutronclient python-pecan python-wsme python-paramiko python-openstackclient
Setup Cloudpulse database
The MySQL commands need to be run in the MySQL database host <db_host_ip>.
- Create cloudpulse databse.
CREATE DATABASE IF NOT EXISTS cloudpulse DEFAULT CHARACTER SET utf8;
- Grant all privileges to cloudpulse user for cloudpulse databse; set a password for cloudpulse user.
GRANT ALL PRIVILEGES ON cloudpulse.* TO 'cloudpulse@%' IDENTIFIED BY '<cloudpulse_mysql_user_password>';
- Create cpulse table in cloudpulse databse.
create table IF NOT EXISTS cpulse ( id int NOT NULL AUTO_INCREMENT, uuid VARBINARY(128), name VARCHAR(128), state VARCHAR(128), created_at timestamp default current_timestamp, updated_at timestamp default 0, testtype VARBINARY(128), result TEXT, primary key (id));
- Create cpulselock table in cloudpulse databse.
create table IF NOT EXISTS cpulselock ( id int NOT NULL AUTO_INCREMENT, test_name VARBINARY(128), conductor_id VARBINARY(128), created_at timestamp default current_timestamp, updated_at timestamp default 0 , primary key (id));
Create keystone user, service and endpoint
The following services have to be setup to make cloudpulse as a service.
- Create user cloudpulse and set its password.
openstack user create --project service --password <cloudpulse_openstack_user_password> cloudpulse
- Create cloudpulse service.
openstack service create --name cloudpulse --description "openstack health service" health
- Add roles to cloudpulse user.
openstack role add --project admin --user cloudpulse admin openstack role add --project service --user cloudpulse admin
- Create openstack service endpoint.
openstack endpoint create --region RegionOne --adminurl http://<host_ip>:9999 --internalurl http://<host_ip>:9999 --publicurl http://<host_ip>:9999 cloudpulse
Create cloudpulse configuration file
## cloudpulse.conf
## Modify and place this file in any location <path_cloudpulse.conf>.
[DEFAULT]
debug = False
verbose = True
logdir = <cloudpulse_log_dir>
host = <host_ip>
port = 9999
[database]
connection = mysql://cloudpulse:<cloudpulse_mysql_user_password>@<db_host_ip>/cloudpulse?charset=utf8
max_retries = -1
[osapi_v3]
enabled = True
[keystone_authtoken]
auth_uri = http://<host_ip>:5000/v2.0
project_domain_name = default
project_name = service
user_domain_name = default
password = <keystone_admin_password>
username = cloudpulse
auth_url = http://<host_ip>:35357
auth_plugin = <cloudpulse_openstack_user_password>
[oslo_concurrency]
lock_path = /opt/stack/data/nova
[oslo_messaging_rabbit]
rabbit_userid = guest
rabbit_password = <rabbitmq_password>
rabbit_hosts = guest:<rabbitmq_password>@<controller_node_1_ip>:5672,guest:<rabbitmq_password>@<controller_node_2_ip>:5672,guest: <rabbitmq_password>@<controller_node_3_ip>:5672
[periodic_tests]
nova_endpoint = 240
neutron_endpoint = 240
cinder_endpoint = 240
glance_endpoint = 240
keystone_endpoint = 240
rabbitmq_check = 240
galera_check = 240
docker_check = 240
node_check = 240
ceph_check = 240
## Operator test only supported on containerized environments such as kolla/ansible openstack installer
[operator_test]
containerized = True
rabbit_container = `docker ps | grep rabbitmq | awk '{print $1}'`
galera_container = `docker ps | grep mariadb-app | awk '{print $1}'`
ceph_container = `docker ps | grep ceph-mon | awk '{print $1}'`
[operator_test]
operator_setup_file = <path_nodes_config.yaml>
## Operator scenario is only supported on kolla environment
[scenario]
enabled_scenarios = endpoint_scenario,operator_scenario
Start Cloudpulse Server
Clone cloudpulse repository and install cloudpulse.
git clone https://github.com/openstack/cloudpulse cd cloudpulse python setup.py install