Modify the installation script of nova and glance, include the README files. Change-Id: I477d453526941be8caa3ee89ee20c575067c416b
166 lines
6.3 KiB
Markdown
166 lines
6.3 KiB
Markdown
Openstack Nova Proxy
|
|
===============================
|
|
|
|
Nova-Proxy acts as the same role of Nova-Compute in cascading OpenStack.
|
|
Nova-Proxy treats cascaded Nova as its hypervisor, convert the internal request message from the message bus to restful API calling to cascaded Nova.
|
|
|
|
|
|
Key modules
|
|
-----------
|
|
|
|
* The new nova proxy module manager_proxy,which is configured to manage specified Availability Zone cascaded Nova. All VM in the cascaded Nova of this AZ will be bind to the manager_proxy host in the cascading level:
|
|
|
|
nova/compute/manager_proxy.py
|
|
|
|
* The code include clients of various component service(nova neutron cinder glance),through the client you can call cascaded various component service API by restful API
|
|
|
|
nova/compute/clients.py
|
|
|
|
* The solution of that clients gets token or checks token from token:
|
|
nova/compute/compute_context.py
|
|
nova/compute/compute_keystoneclient.py
|
|
|
|
Requirements
|
|
------------
|
|
* openstack-nova-compute-2014.2(Juno) has been installed
|
|
|
|
Installation
|
|
------------
|
|
|
|
We provide two ways to install the nova proxy code. In this section, we will guide you through installing the nova proxy with the minimum configuration.
|
|
|
|
* **Note:**
|
|
|
|
- Make sure you have an existing installation of **Openstack Juno**.
|
|
- We recommend that you Do backup at least the following files before installation, because they are to be overwritten or modified:
|
|
$NOVA_CONFIG_PARENT_DIR/nova.conf
|
|
(replace the $... with actual directory names.)
|
|
|
|
* **Manual Installation**
|
|
|
|
- Make sure you have performed backups properly.
|
|
|
|
|
|
- Navigate to the local repository and copy the contents in 'nova' sub-directory to the corresponding places in existing nova, e.g.
|
|
```cp -r $LOCAL_REPOSITORY_DIR/nova $NOVA_PARENT_DIR```
|
|
(replace the $... with actual directory name.)
|
|
|
|
- Update the nova configuration file (e.g. /etc/nova/nova.conf) with the minimum option below. If the option already exists, modify its value, otherwise add it to the config file. Check the "Configurations" section below for a full configuration guide.
|
|
```
|
|
[DEFAULT]
|
|
...
|
|
###configuration for Nova cascading ###
|
|
proxy_region_name=$proxy_region_name
|
|
cascading_nova_url=$cascading_nova_url
|
|
cascaded_nova_url=$cascaded_nova_url
|
|
cascaded_neutron_url=$cascaded_neutron_url
|
|
cascaded_glance_flag=False
|
|
cascaded_glance_url=$cascaded_glance_url
|
|
os_region_name=$os_region_name
|
|
keystone_auth_url=$keystone_auth_url
|
|
cinder_endpoint_template=$cinder_endpoint_template
|
|
compute_manager=nova.compute.manager_proxy.ComputeManager
|
|
```
|
|
|
|
- Restart the nova proxy.
|
|
```service nova-compute restart```
|
|
|
|
- Done. The nova proxy should be working with a demo configuration.
|
|
|
|
* **Automatic Installation**
|
|
|
|
- Make sure you have performed backups properly.
|
|
|
|
- run `source envrc`
|
|
|
|
- Navigate to the installation directory and run installation script.
|
|
```
|
|
cd $LOCAL_REPOSITORY_DIR/installation
|
|
sudo bash ./install.sh
|
|
```
|
|
(replace the $... with actual directory name.)
|
|
|
|
- Done. The installation code should setup the nova proxy with the minimum configuration below. Check the "Configurations" section for a full configuration guide.
|
|
```
|
|
[DEFAULT]
|
|
...
|
|
###cascade info ###
|
|
proxy_region_name=$proxy_region_name
|
|
cascading_nova_url=$cascading_nova_url
|
|
cascaded_nova_url=$cascaded_nova_url
|
|
cascaded_neutron_url=$cascaded_neutron_url
|
|
cascaded_glance_flag=False
|
|
cascaded_glance_url=$cascaded_glance_url
|
|
os_region_name=$os_region_name
|
|
keystone_auth_url=$keystone_auth_url
|
|
cinder_endpoint_template=$cinder_endpoint_template
|
|
compute_manager=nova.compute.manager_proxy.ComputeManager
|
|
|
|
* **Troubleshooting**
|
|
|
|
In case the automatic installation process is not complete, please check the followings:
|
|
|
|
- Make sure your OpenStack version is Juno.
|
|
|
|
- Check the variables in the beginning of the install.sh scripts. Your installation directories may be different from the default values we provide.
|
|
|
|
- The installation code will automatically add the related codes to $NOVA_PARENT_DIR/nova and modify the related configuration.
|
|
|
|
- In case the automatic installation does not work, try to install manually.
|
|
|
|
Configurations
|
|
--------------
|
|
|
|
* This is a (default) configuration sample for the nova proxy. Please add/modify these options in /etc/nova/nova.conf.
|
|
* Note:
|
|
- Please carefully make sure that options in the configuration file are not duplicated. If an option name already exists, modify its value instead of adding a new one of the same name.
|
|
- Please refer to the 'Configuration Details' section below for proper configuration and usage of costs and constraints.
|
|
|
|
```
|
|
[DEFAULT]
|
|
|
|
...
|
|
|
|
#
|
|
#Options defined in nova.compute.manager
|
|
#
|
|
|
|
# Default driver to use for the nova proxy (string value)
|
|
compute_manager=nova.compute.manager_proxy.ComputeManager
|
|
|
|
#The region name ,which will be set as a parameter when
|
|
#the cascaded level component services register endpoint to keystone
|
|
proxy_region_name=$proxy_region_name
|
|
|
|
#The cascading level nova component service url, by which the nova porxy
|
|
#can access to cascading level nova service
|
|
cascading_nova_url=$cascading_nova_url
|
|
|
|
#The cascaded level nova component service url, by which the nova porxy
|
|
#can access to cascaded level nova service
|
|
cascaded_nova_url=$cascaded_nova_url
|
|
cascaded_neutron_url=$cascaded_neutron_url
|
|
|
|
#when cascaded_glance_flag is set to True, the cascaded nova will use casaded glance to
|
|
#provide image but not cascading level glance, if it cascaded_glance_flag is set to False
|
|
#casacaded Nova will use image from global glance.
|
|
cascaded_glance_flag=True or False
|
|
|
|
#The cascaded level glance service url, by which the nova porxy
|
|
#can judge whether cascading glance has a location for this cascaded glance
|
|
cascaded_glance_url=$cascaded_glance_url
|
|
|
|
#The region name ,which will be set as a parameter when
|
|
#the cascading level component services register endpoint to keystone
|
|
os_region_name=$os_region_name
|
|
|
|
#The cascading level keystone component service url, by which the nova porxy
|
|
#can access to cascading level keystone service
|
|
keystone_auth_url=$keystone_auth_url
|
|
|
|
Note: a few options that belonged to the original nova have to be configured:
|
|
|
|
. allow_resize_to_same_host=True
|
|
. scheduler_default_filters=AvailabilityZoneFilter
|
|
|