From 995258ecf836d1afb6156c66c3290d48407a8649 Mon Sep 17 00:00:00 2001 From: jiahaojie Date: Tue, 23 Dec 2014 10:39:28 +0800 Subject: [PATCH] add README file for neutron cascaded_l3_patch and timestamp_cascaded_patch Change-Id: Ieb2903c9f76d5ff1052f28baf88d8dbfd0f33223 --- .../neutron_cascaded_l3_patch/README.md | 83 +++++++++++++++++++ .../README.md | 68 +++++++++++++++ 2 files changed, 151 insertions(+) create mode 100644 juno-patches/neutron/neutron_cascaded_l3_patch/README.md create mode 100644 juno-patches/neutron/neutron_timestamp_cascaded_patch/README.md diff --git a/juno-patches/neutron/neutron_cascaded_l3_patch/README.md b/juno-patches/neutron/neutron_cascaded_l3_patch/README.md new file mode 100644 index 0000000..9a8c96c --- /dev/null +++ b/juno-patches/neutron/neutron_cascaded_l3_patch/README.md @@ -0,0 +1,83 @@ +Openstack Neutron cascaded_l3_patch +=============================== + + Neutron cascaded_l3_patch is mainly used to achieve L3 communications crossing OpenStack. To solve the problem, we add 'onlink' field for extra route of router based on the ip range in neutron-server, and add GRE Tunnel in l3-agent. This patch should be made to the Cascaded Neutron nodes. + + +Key modules +----------- + +* We add GRE Tunnel in l3-agent by modifying some files: + neutron/agent/linux/ip_lib.py + neutron/agent/l3_agent.py + +* We add 'onlink' field for extra route of router based on the ip range in neutron-server by modifying some files: + neutron/common/config.py + neutron/db/extraroute_db.py + + +Requirements +------------ +* openstack neutron-2014.2 has been installed. + +Installation +------------ + +We provide two ways to install the Neutron cascaded_l3_patch. In this section, we will guide you through installing the Neutron cascaded_l3_patch with modifying the configuration. + +* **Note:** + + - Make sure you have an existing installation of **Openstack Neutron of Juno Version**. + - We recommend that you Do backup at least the following files before installation, because they are to be overwritten or modified: + $NEUTRON_PARENT_DIR/neutron + (replace the $... with actual directory names.) + +* **Manual Installation** + + - Navigate to the local repository and copy the contents in 'neutron' sub-directory to the corresponding places in existing neutron, e.g. + ```cp -r $LOCAL_REPOSITORY_DIR/neutron $NEUTRON_PARENT_DIR``` + (replace the $... with actual directory name.) + ``` + - you can modify neutron config file + $CONFIG_FILE_PATH/plugins/ml2/ml2_conf.ini + Modify the value of firewall_driver option as: + [securitygroup] + firewall_driver=neutron.agent.firewall.NoopFirewallDriver + + $CONFIG_FILE_PATH/l3_agent.ini + Modify the value of agent_mode option as: + [DEFAULT] + agent_mode=dvr_snat + + $CONFIG_FILE_PATH/neutron.conf, you can also don't modify + Default value of 3gw_extern_net_ip_range option in config file, is + l3gw_extern_net_ip_range=100.64.0.0/16 + + - Restart the neutron-server and neutron-l3-agent. + ```service neutron-server restart``` + ```service neutron-l3-agent restart``` + + - Done. + +* **Automatic Installation** + + - 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 script will automatically modify the neutron code and the configurations. + +* **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 modify the related codes to $NEUTRON_PARENT_DIR/neutron and the related configuration. + + - In case the automatic installation does not work, try to install manually. diff --git a/juno-patches/neutron/neutron_timestamp_cascaded_patch/README.md b/juno-patches/neutron/neutron_timestamp_cascaded_patch/README.md new file mode 100644 index 0000000..88aa644 --- /dev/null +++ b/juno-patches/neutron/neutron_timestamp_cascaded_patch/README.md @@ -0,0 +1,68 @@ +Openstack Neutron timestamp_cascaded_patch +=============================== + + Neutron timestamp_cascaded_patch is mainly used to provide query filter 'sinces_change' for "list ports" API. To achieve the goal, we add three fields ('created_at'/'updated_at'/'delete_at') for ports table in neutron DB, and modify few lines of code in _apply_filters_to_query() function. This patch should be made to the Cascaded Neutron nodes. + + +Key modules +----------- + +* add three fields ('created_at'/'updated_at'/'delete_at') for ports table, and modify few lines of code in _apply_filters_to_query() function: + neutron/db/migration/alembic_migrations/versions/238cf36dab26_add_port_timestamp_revision.py + neutron/db/migration/core_init_ops.py + neutron/db/common_db_mixin.py + neutron/db/models_v2.py + +Requirements +------------ +* openstack neutron-2014.2 has been installed. + +Installation +------------ + +We provide two ways to install the Neutron timestamp_cascaded_patch. In this section, we will guide you through installing the Neutron timestamp_cascaded_patch without modifying the configuration. + +* **Note:** + + - Make sure you have an existing installation of **Openstack Neutron of Juno Version**. + - We recommend that you Do backup at least the following files before installation, because they are to be overwritten or modified: + $NEUTRON_PARENT_DIR/neutron + (replace the $... with actual directory names.) + +* **Manual Installation** + + - Navigate to the local repository and copy the contents in 'neutron' sub-directory to the corresponding places in existing neutron, e.g. + ```cp -r $LOCAL_REPOSITORY_DIR/neutron $NEUTRON_PARENT_DIR``` + (replace the $... with actual directory name.) + + - Upgrade DB + ```neutron-db-manage --config-file $CONFIG_FILE_PATH/neutron.conf --config-file $CONFIG_FILE_PATH/plugins/ml2/ml2_conf.ini upgrade head``` + (replace the $... with actual directory name.) + + - Restart the neutron-server. + ```service neutron-server restart``` + + - Done. + +* **Automatic Installation** + + - 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 script will automatically modify the neutron code, upgrade DB and restart neutron-server. + +* **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 modify the related codes to $NEUTRON_PARENT_DIR/neutron. + + - In case the automatic installation does not work, try to install manually.