[Openstack-operators] Openstack Ansible ODL+OvS+SFC

nicolas at lrasc.fr nicolas at lrasc.fr
Fri Aug 3 15:26:34 UTC 2018


Hi Jean-Philippe,
Thanks you for this reply.

If I understand correctly, I have 2 options:
1. I deploy ODL before deploying OSA. Then in the OSA config file 
"/etc/openstack_deploy/user_variables.yml", I point to the ODL API IP 
address. No other modification done to OSA roles or playbooks are 
required.
Here OSA does not install ODL, but it only configures neutron to works 
with ODL.


2. I add an extra "opendaylight" group following the documentation 
(either static or dynamic inventory).
Here the OSA script will install ODL from scratch (with no other 
modification done to OSA roles and playbooks) and will configures 
neutron to works with ODL.


I have the feeling that the first solution is 'easier'. In fact I am not 
sure that I fully understand what it takes to add a new custom inventory 
group and links it to the ODL deployment scripts in OSA.
I do know how to use ansible (I have writen several roles and 
playbooks), but I prefer to modify OSA as little as possible (because of 
the release rate).



So if the 1st solution works, I will try it ! Maybe I can share the 
result in this ML because they were people how was interested in.


Regards,
--
Nicolas


On Friday, August 03, 2018 15:42, jean-philippe at evrard.me wrote:
> Hello,
> 
> We don't ship with an opendaylight group by default in the integrated 
> repo.
> Two choices:
> - You deploy opendaylight on the side, and you point to it by having a
> user variable odl_ip for example.
> - You add an extra group (where you want to have it!) using
> openstack-ansible inventory system.
> 
> For this you can either follow the documentation for manipulating the
> dynamic inventory, or you can ship your own static inventory to
> complement the dynamic inventory.
> For the former, you should read this [1].
> For the latter, you can simply create an
> /etc/openstack_deploy/inventory.ini file, like a regular ansible ini
> inventory.
> 
> Hope it helps.
> 
> Jean-Philippe Evrard (evrardjp)
> 
> [1]:
> https://docs.openstack.org/openstack-ansible/latest/reference/inventory/inventory.html
> 
> On Thursday, August 02, 2018 11:23 CEST, nicolas at lrasc.fr wrote:
> 
>> Hi Openstack community !
>> 
>> I have a question regarding Openstack Ansible (OSA) and one 
>> deployement
>> scenario "Scenario - OpenDaylight and Open vSwitch" (link below).
>> https://docs.openstack.org/openstack-ansible-os_neutron/latest/app-opendaylight.html
>> 
>> 
>> 
>> This is a lab test and I take inspiration from "Test environment"
>> example :
>> https://docs.openstack.org/openstack-ansible/queens/user/test/example.html
>> 
>> 
>> 
>> First, I have already tried and achieve to use the "OSA Scenario - 
>> Using
>> Open vSwitch" (link below), which was necessary to understand before
>> trying the ODL + OvS scenario.
>> https://docs.openstack.org/openstack-ansible-os_neutron/latest/app-openvswitch.html
>> 
>> This means I was able to deploy Openstack with OvS as network driver 
>> and
>> I was able to instatiates VMs on tenant VxLAN network, test networks
>> between VMs, use floating IPs, etc..
>> 
>> 
>> 
>> Now I want to try the "Scenario - OpenDaylight and Open vSwitch"
>> scenario because I want to deploy my Openstack environnement with the
>> "networking-sfc" driver activated.
>> 
>> I understand that I must modify the config file
>> "/etc/openstack_deploy/user_variables.yml" like this :
>> 
>> ```
>>     # /etc/openstack_deploy/user_variables.yml
>> 
>>     ### Ensure the openvswitch kernel module is loaded
>>     openstack_host_specific_kernel_modules:
>>       - name: "openvswitch"
>>         pattern: "CONFIG_OPENVSWITCH"
>>         group: "network_hosts"
>> 
>>     ### Use OpenDaylight SDN Controller
>>     neutron_plugin_type: "ml2.opendaylight"
>> 
>>     odl_ip: "{{
>> hostvars[groups['opendaylight'][0]]['ansible_default_ipv4']['address']
>> }}"
>>     neutron_opendaylight_conf_ini_overrides:
>>       ml2_odl:
>>         url: "http://{{ odl_ip }}:8180/controller/nb/v2/neutron"
>>         username: <username>
>>         password: <password>
>> 
>>     neutron_plugin_base:
>>      - router
>>      - metering
>>      - 
>> networking_sfc.services.flowclassifier.plugin.FlowClassifierPlugin
>>      - networking_sfc.services.sfc.plugin.SfcPlugin
>> 
>> ```
>> 
>> But there are no information about the
>> "/etc/openstack_deploy/openstack_user_config.yml" config file.
>> I am not sure if I understand where ansible get the value of "{{ 
>> odl_ip
>> }}" and "{{ hostvars[group....
>> 
>> In the file "/opt/openstack-ansible/tests/test_inventory.py", I find 
>> out
>> that there is an entry for "opendaylight" in the
>> class TestAnsibleInventoryFormatConstraints(unittest.TestCase).
>> 
>> 
>> I assumed I must modify
>> "/etc/openstack_deploy/openstack_user_config.yml" like this :
>> 
>> ```
>>     # /etc/openstack_deploy/openstack_user_config.yml
>>     [...]
>> 
>>     # horizon
>>     dashboard_hosts:
>>       infra41:
>>         ip: infra41.dom4.net
>> 
>>     # neutron server, agents (L3, etc)
>>     network_hosts:
>>       network41:
>>         ip: network41.dom4.net
>> 
>>     opendaylight:
>>       network41:
>>         ip: network41.dom4.net
>>     [...]
>> ```
>> 
>> I have an infra node (with most of Openstack core services) and a
>> network node (dedicated to neutron). On my first try, I wanted to
>> install ODL on the network node (because I thought it will be deployed
>> in a LXC container). But I can dedicate an host to ODL if needed.
>> 
>> 
>> Could someone gives me some hints on this ? My goal is to deploy my
>> Openstack environnement with the "networking-sfc" driver, and using 
>> OSA.
>> 
>> Maybe there are other method like "kolla-ansible", but I found that 
>> OSA
>> has a more dense documentation.
>> 
>> 
>> Thanks you for your time.
>> --
>> Nicolas
>> 
>> _______________________________________________
>> OpenStack-operators mailing list
>> OpenStack-operators at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators



More information about the OpenStack-operators mailing list