diff options
author | Yifei Xue <xueyifei@huawei.com> | 2017-05-27 14:11:17 +0800 |
---|---|---|
committer | Yifei Xue <xueyifei@huawei.com> | 2017-06-02 17:13:56 +0800 |
commit | f9d5aacba1ce6a2fdc3f5ef71a82550cec3812ae (patch) | |
tree | 2f6718fbb224a4fb8ab22cbc235ae55cf6c9f537 /deploy/adapters/ansible/roles/odl_cluster | |
parent | 02603a05c4d3fe59876030dc914cab019193d4e6 (diff) |
Add opendaylight sfc support for compass installer
JIRA: COMPASS-483
As odl sfc has been supported by other installers,
we compass project has also support odl boron and tacker now.
So we are going to support odl sfc+tacker in Danube release.
This patch includes:
1. Add ovs-common and ovs-dkms
2. Install networking-sfc for neutron and odl
3. Configure odl sfc in neutron ml2
4. Add sfc related features in odl
5. Add sfc related repo making scripts
6. Add odl_sfc switch both in compass4nfv and compass-core
Change-Id: If37a9e190c3095d771ffab61777a927b6d94ea9e
Signed-off-by: Yifei Xue <xueyifei@huawei.com>
Diffstat (limited to 'deploy/adapters/ansible/roles/odl_cluster')
5 files changed, 53 insertions, 4 deletions
diff --git a/deploy/adapters/ansible/roles/odl_cluster/tasks/01_04_install_pip_packages.yml b/deploy/adapters/ansible/roles/odl_cluster/tasks/01_04_install_pip_packages.yml index fa418c6c..cc4ae992 100644 --- a/deploy/adapters/ansible/roles/odl_cluster/tasks/01_04_install_pip_packages.yml +++ b/deploy/adapters/ansible/roles/odl_cluster/tasks/01_04_install_pip_packages.yml @@ -23,3 +23,7 @@ pip install {{ networking_odl_pkg_name }} rm -rf {{ networking_odl_pkg_name }} cd - + +- name: install networking-sfc + pip: name=networking-sfc state=present version=3.0.0 + when: odl_sfc == "Enable" diff --git a/deploy/adapters/ansible/roles/odl_cluster/tasks/01_08_configure_neutron.yml b/deploy/adapters/ansible/roles/odl_cluster/tasks/01_08_configure_neutron.yml index 80443f1b..49396e35 100644 --- a/deploy/adapters/ansible/roles/odl_cluster/tasks/01_08_configure_neutron.yml +++ b/deploy/adapters/ansible/roles/odl_cluster/tasks/01_08_configure_neutron.yml @@ -38,6 +38,13 @@ force_metadata "True"; when: odl_l3_agent == "Enable" +- name: configure sfc + shell: | + crudini --set /etc/neutron/neutron.conf sfc drivers \ + odl; + crudini --set /etc/neutron/neutron.conf flowclassifier drivers \ + odl; + when: odl_sfc == "Enable" - name: drop and recreate neutron database shell: | diff --git a/deploy/adapters/ansible/roles/odl_cluster/tasks/03_02_openvswitch_connect_opendaylight.yml b/deploy/adapters/ansible/roles/odl_cluster/tasks/03_02_openvswitch_connect_opendaylight.yml index 2a9622f9..56326563 100644 --- a/deploy/adapters/ansible/roles/odl_cluster/tasks/03_02_openvswitch_connect_opendaylight.yml +++ b/deploy/adapters/ansible/roles/odl_cluster/tasks/03_02_openvswitch_connect_opendaylight.yml @@ -21,6 +21,34 @@ when: inventory_hostname in groups['odl'] ignore_errors: "True" +- name: table configuration for netvirt + uri: + url: "{{ item.url }}" + method: PUT + user: "{{ odl_username }}" + password: "{{ odl_password }}" + body: "{{ item.body }}" + force_basic_auth: "yes" + body_format: json + status_code: 200, 201 + with_items: "{{ conf_netvirt }}" + when: inventory_hostname == haproxy_hosts.keys()[0] + and odl_sfc == "Enable" + +- name: table configuration for sfc + uri: + url: "{{ item.url }}" + method: PUT + user: "{{ odl_username }}" + password: "{{ odl_password }}" + body: "{{ item.body }}" + force_basic_auth: "yes" + body_format: json + status_code: 200, 201 + with_items: "{{ conf_sfc }}" + when: inventory_hostname == haproxy_hosts.keys()[0] + and odl_sfc == "Enable" + - name: set opendaylight as the manager command: | su -s /bin/sh -c "ovs-vsctl set-manager ptcp:6639:127.0.0.1 tcp:{{ internal_vip.ip }}:6640;" diff --git a/deploy/adapters/ansible/roles/odl_cluster/templates/org.apache.karaf.features.cfg.Debian b/deploy/adapters/ansible/roles/odl_cluster/templates/org.apache.karaf.features.cfg.Debian index eebd47a6..743e7123 100755 --- a/deploy/adapters/ansible/roles/odl_cluster/templates/org.apache.karaf.features.cfg.Debian +++ b/deploy/adapters/ansible/roles/odl_cluster/templates/org.apache.karaf.features.cfg.Debian @@ -41,7 +41,7 @@ featuresRepositories = mvn:org.apache.karaf.features/standard/3.0.7/xml/features # # Comma separated list of features to install at startup # -featuresBoot=config,standard,region,package,kar,ssh,management,odl-restconf-all,odl-aaa-authn,odl-dlux-all,odl-ovsdb-openstack,odl-mdsal-apidocs,odl-dlux-core,odl-openflowplugin-nxm-extensions +featuresBoot=config,standard,region,package,kar,ssh,management,odl-restconf-all,odl-aaa-authn,odl-dlux-all,odl-ovsdb-openstack,odl-mdsal-apidocs,odl-dlux-core,odl-openflowplugin-nxm-extensions,odl-ovsdb-sfc,odl-netvirt-openstack-sfc-translator-rest # # Defines if the boot features are started in asynchronous mode (in a dedicated thread) diff --git a/deploy/adapters/ansible/roles/odl_cluster/vars/main.yml b/deploy/adapters/ansible/roles/odl_cluster/vars/main.yml index a968e3ec..365247ef 100755 --- a/deploy/adapters/ansible/roles/odl_cluster/vars/main.yml +++ b/deploy/adapters/ansible/roles/odl_cluster/vars/main.yml @@ -11,9 +11,19 @@ odl_username: admin odl_password: admin odl_api_port: 8181 -# odl_pkg_url: https://nexus.opendaylight.org/content/groups/public/org/ -# opendaylight/integration/distribution-karaf/0.3.0-Lithium/ -# distribution-karaf-0.3.0-Lithium.tar.gz +netvirt_table: netvirt-providers-config:netvirt-providers-config +sfc_table: sfc-of-renderer:sfc-of-renderer-config + +conf_netvirt: + - url: http://{{ internal_vip.ip }}:{{ odl_api_port }}/restconf/config/{{ netvirt_table }} + body: {"netvirt-providers-config":{"table-offset":1}} + +# yamllint disable rule:line-length +conf_sfc: + - url: http://{{ internal_vip.ip }}:{{ odl_api_port }}/restconf/config/{{ sfc_table }} + body: {"sfc-of-renderer-config":{"sfc-of-table-offset":"150", "sfc-of-app-egress-table-offset":"11"}} +# yamllint enable rule:line-length + odl_pkg_url: distribution-karaf-0.5.2-Boron-SR2.tar.gz odl_pkg_name: distribution-karaf-0.5.2-Boron-SR2.tar.gz odl_home: "/opt/opendaylight/" |