Difference between revisions of "Cloudpulse/DeveloperNotes"
(→Configuration File Changes) |
|||
(9 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