Add installation guides to docs
Partially implements: blueprint climate-docs Change-Id: Id0a0f0cc78e23ee1b1443d283258d0ca1df6c53f
This commit is contained in:
parent
9b25f3f8a5
commit
9694721629
@ -18,6 +18,13 @@ Overview
|
||||
User guide
|
||||
----------
|
||||
|
||||
**Installation**
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
userdoc/installation.guide
|
||||
|
||||
**APIs**
|
||||
|
||||
.. toctree::
|
||||
|
182
doc/source/userdoc/installation.guide.rst
Normal file
182
doc/source/userdoc/installation.guide.rst
Normal file
@ -0,0 +1,182 @@
|
||||
Installation using Devstack
|
||||
===========================
|
||||
|
||||
This section includes instructions for Climate installation using Devstack.
|
||||
|
||||
1. Download Devstack:
|
||||
|
||||
.. sourcecode:: console
|
||||
|
||||
git clone https://github.com/openstack-dev/devstack.git
|
||||
|
||||
..
|
||||
|
||||
2. Download Climate:
|
||||
|
||||
.. sourcecode:: console
|
||||
|
||||
git clone https://github.com/stackforge/climate.git
|
||||
|
||||
..
|
||||
|
||||
3. Add climate files to Devstack:
|
||||
|
||||
.. sourcecode:: console
|
||||
|
||||
cd climate/contrib/devstack
|
||||
DEVSTACK_DIR=../../../devstack
|
||||
cp lib/climate ${DEVSTACK_DIR}/lib
|
||||
cp extras.d/70-climate.sh ${DEVSTACK_DIR}/extras.d
|
||||
|
||||
..
|
||||
|
||||
4. Configure devstack to run climate by adding climate, climate api and climate
|
||||
manager to the localrc file:
|
||||
|
||||
.. sourcecode:: console
|
||||
|
||||
cd ${DEVSTACK_DIR}
|
||||
echo "enable_service climate" >> localrc
|
||||
echo "enable_service climate-a" >> localrc
|
||||
echo "enable_service climate-m" >> localrc
|
||||
|
||||
..
|
||||
|
||||
5. Run Devstack:
|
||||
|
||||
.. sourcecode:: console
|
||||
|
||||
./stack.sh
|
||||
|
||||
..
|
||||
|
||||
Installation without Devstack
|
||||
=============================
|
||||
|
||||
This section includes instructions for Climate installation.
|
||||
|
||||
Download all Climate related repos:
|
||||
|
||||
.. sourcecode:: console
|
||||
|
||||
git clone https://github.com/stackforge/climate.git
|
||||
git clone https://github.com/stackforge/climate-nova.git
|
||||
git clone https://github.com/stackforge/python-climateclient.git
|
||||
|
||||
..
|
||||
|
||||
Install all these projects to your working environment via:
|
||||
|
||||
.. sourcecode:: console
|
||||
|
||||
python setup.py install
|
||||
|
||||
..
|
||||
|
||||
or
|
||||
|
||||
.. sourcecode:: console
|
||||
|
||||
python setup.py develop
|
||||
|
||||
..
|
||||
|
||||
Next you need to configure Climate and Nova. Define */etc/climate/climate.conf*
|
||||
file using the following example:
|
||||
|
||||
.. sourcecode:: console
|
||||
|
||||
[DEFAULT]
|
||||
host=<climate_host>
|
||||
|
||||
os_auth_host=<auth_host>
|
||||
os_auth_port=<auth_port>
|
||||
os_auth_protocol=<http, for example>
|
||||
os_admin_username=<username>
|
||||
os_admin_password=<password>
|
||||
os_admin_tenant_name=<tenant_name>
|
||||
|
||||
[manager]
|
||||
plugins=basic.vm.plugin,physical.host.plugin
|
||||
|
||||
[virtual:instance]
|
||||
on_start=on_start
|
||||
on_end=create_image, delete
|
||||
|
||||
[physical:host]
|
||||
on_start=on_start
|
||||
on_end=on_end
|
||||
climate_username=<username>
|
||||
climate_password=<password>
|
||||
climate_tenant_name=<tenant_name>
|
||||
|
||||
..
|
||||
|
||||
Here *os_admin_** flags refer to Climate service user. *climate_** ones - to
|
||||
admin user created specially to work with physical reservations. If you have no
|
||||
these users, create them via Keystone:
|
||||
|
||||
.. sourcecode:: console
|
||||
|
||||
keystone user-create --name=climate --pass=<service_password> --tenant_id=<service_tenant_id> --email=climate@example.com
|
||||
keystone user-role-add --tenant-id <service_tenant_id> --user-id <climate_user> --role-id <admin_role>
|
||||
|
||||
..
|
||||
|
||||
And the same procedure for special admin user to work with physical
|
||||
reservations.
|
||||
|
||||
Next you need to configure Nova. If you want to use virtual reservations,
|
||||
please add the following lines to nova.conf file:
|
||||
|
||||
.. sourcecode:: console
|
||||
|
||||
osapi_compute_extension = nova.api.openstack.compute.contrib.standard_extensions
|
||||
osapi_compute_extension = climatenova.api.extensions.default_reservation.Default_reservation
|
||||
osapi_compute_extension = climatenova.api.extensions.reservation.Reservation
|
||||
|
||||
..
|
||||
|
||||
If you want to use physical reservations add these ones:
|
||||
|
||||
.. sourcecode:: console
|
||||
|
||||
scheduler_available_filters = nova.scheduler.filters.all_filters
|
||||
scheduler_available_filters = climatenova.scheduler.filters.climate_filter.ClimateFilter
|
||||
scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ClimateFilter
|
||||
|
||||
..
|
||||
|
||||
Restart nova-api and nova-scheduler to use new configuration file.
|
||||
|
||||
Climate uses Keystone trusts to commit actions on behalf of user created lease.
|
||||
That’s why we need to create identityv3 service with appropriate endpoints:
|
||||
|
||||
.. sourcecode:: console
|
||||
|
||||
keystone service-create --name keystonev3 --type identityv3 --description "Keystone Identity Service v3"
|
||||
keystone endpoint-create --region <region> --service keystonev3 --publicurl "<auth_protocol>://<auth_host>:5000/v3" --adminurl "<auth_protocol>://<auth_host>:35357/v3" --internalurl "<auth_protocol>://<auth_host>:5000/v3"
|
||||
|
||||
..
|
||||
|
||||
And, finally, we need to create reservation service in Keystone with its
|
||||
endpoints:
|
||||
|
||||
.. sourcecode:: console
|
||||
|
||||
keystone service-create --name climate --type reservation --description “OpenStack reservation service.”
|
||||
keystone endpoint-create --region <region> --service climate --publicurl "<auth_protocol>://<climate_host>:1234/v1" --adminurl "<auth_protocol>://<climate_host>:1234/v1"
|
||||
|
||||
..
|
||||
|
||||
To start Climate services use:
|
||||
|
||||
.. sourcecode:: console
|
||||
|
||||
climate-api
|
||||
climate-manager
|
||||
|
||||
..
|
||||
|
||||
Now you can use python-climateclient to communicate with Climate.
|
||||
|
Loading…
Reference in New Issue
Block a user