Remove OpenDaylight role
Opendaylight support has been deprecated in Train - time to remove it. Change-Id: I3a61bfbcbf366c327ea3e25d2424bc3fedca29f0
This commit is contained in:
parent
a52808c5bd
commit
eec6831fff
@ -212,7 +212,7 @@ migration_interface_address: "{{ 'migration' | kolla_address }}"
|
|||||||
tunnel_interface_address: "{{ 'tunnel' | kolla_address }}"
|
tunnel_interface_address: "{{ 'tunnel' | kolla_address }}"
|
||||||
octavia_network_interface_address: "{{ 'octavia_network' | kolla_address }}"
|
octavia_network_interface_address: "{{ 'octavia_network' | kolla_address }}"
|
||||||
|
|
||||||
# Valid options are [ openvswitch, linuxbridge, vmware_nsxv, vmware_nsxv3, vmware_dvs, opendaylight ]
|
# Valid options are [ openvswitch, linuxbridge, vmware_nsxv, vmware_nsxv3, vmware_dvs ]
|
||||||
neutron_plugin_agent: "openvswitch"
|
neutron_plugin_agent: "openvswitch"
|
||||||
|
|
||||||
# Valid options are [ internal, infoblox ]
|
# Valid options are [ internal, infoblox ]
|
||||||
@ -470,20 +470,6 @@ zookeeper_quorum_port: "3888"
|
|||||||
zun_api_port: "9517"
|
zun_api_port: "9517"
|
||||||
zun_wsproxy_port: "6784"
|
zun_wsproxy_port: "6784"
|
||||||
|
|
||||||
opendaylight_clustering_port: "2550"
|
|
||||||
opendaylight_restconf_port: "8087"
|
|
||||||
opendaylight_restconf_port_backup: "8182"
|
|
||||||
opendaylight_haproxy_restconf_port: "8088"
|
|
||||||
opendaylight_haproxy_restconf_port_backup: "8183"
|
|
||||||
opendaylight_jetty_conf_port: "8543"
|
|
||||||
opendaylight_jetty_conf2_port: "8443"
|
|
||||||
opendaylight_tomcat_port: "8282"
|
|
||||||
opendaylight_tomcat_redirect_port: "8663"
|
|
||||||
opendaylight_karaf_ssh_port: "8101"
|
|
||||||
opendaylight_openflow_port: "6653"
|
|
||||||
opendaylight_ovsdb_port: "6641"
|
|
||||||
opendaylight_websocket_port: "8185"
|
|
||||||
|
|
||||||
vitrage_api_port: "8999"
|
vitrage_api_port: "8999"
|
||||||
|
|
||||||
public_protocol: "{{ 'https' if kolla_enable_tls_external | bool else 'http' }}"
|
public_protocol: "{{ 'https' if kolla_enable_tls_external | bool else 'http' }}"
|
||||||
@ -649,7 +635,6 @@ enable_nova_serialconsole_proxy: "no"
|
|||||||
enable_nova_ssh: "yes"
|
enable_nova_ssh: "yes"
|
||||||
enable_octavia: "no"
|
enable_octavia: "no"
|
||||||
enable_onos: "no"
|
enable_onos: "no"
|
||||||
enable_opendaylight: "no"
|
|
||||||
enable_openvswitch: "{{ enable_neutron | bool and neutron_plugin_agent != 'linuxbridge' }}"
|
enable_openvswitch: "{{ enable_neutron | bool and neutron_plugin_agent != 'linuxbridge' }}"
|
||||||
enable_ovs_dpdk: "no"
|
enable_ovs_dpdk: "no"
|
||||||
enable_osprofiler: "no"
|
enable_osprofiler: "no"
|
||||||
@ -906,7 +891,7 @@ neutron_tenant_network_types: "vxlan"
|
|||||||
|
|
||||||
# valid values: ["dvr", "dvr_no_external"]
|
# valid values: ["dvr", "dvr_no_external"]
|
||||||
neutron_compute_dvr_mode: "dvr"
|
neutron_compute_dvr_mode: "dvr"
|
||||||
computes_need_external_bridge: "{{ enable_neutron_dvr | bool and neutron_compute_dvr_mode == 'dvr' or enable_neutron_provider_networks | bool or enable_opendaylight | bool and neutron_plugin_agent != 'vmware_dvs' and not enable_onos | bool }}"
|
computes_need_external_bridge: "{{ (enable_neutron_dvr | bool and neutron_compute_dvr_mode == 'dvr') or enable_neutron_provider_networks | bool }}"
|
||||||
|
|
||||||
# Default DNS resolvers for virtual networks
|
# Default DNS resolvers for virtual networks
|
||||||
neutron_dnsmasq_dns_servers: "1.1.1.1,8.8.8.8,8.8.4.4"
|
neutron_dnsmasq_dns_servers: "1.1.1.1,8.8.8.8,8.8.4.4"
|
||||||
@ -1044,19 +1029,6 @@ vmware_vcenter_host_username: "username"
|
|||||||
vmware_vcenter_cluster_name: "cluster-1"
|
vmware_vcenter_cluster_name: "cluster-1"
|
||||||
vmware_vcenter_insecure: "True"
|
vmware_vcenter_insecure: "True"
|
||||||
|
|
||||||
######################
|
|
||||||
# OpenDaylight
|
|
||||||
######################
|
|
||||||
opendaylight_mechanism_driver: "opendaylight_v2"
|
|
||||||
opendaylight_l3_service_plugin: "odl-router_v2"
|
|
||||||
opendaylight_acl_impl: "learn"
|
|
||||||
enable_opendaylight_qos: "no"
|
|
||||||
enable_opendaylight_l3: "{{ enable_opendaylight }}"
|
|
||||||
enable_opendaylight_legacy_netvirt_conntrack: "no"
|
|
||||||
opendaylight_port_binding_type: "pseudo-agentdb-binding"
|
|
||||||
opendaylight_features: "odl-mdsal-apidocs,odl-netvirt-openstack"
|
|
||||||
opendaylight_allowed_network_types: '"flat", "vlan", "vxlan"'
|
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# XenAPI - Support XenAPI for XenServer
|
# XenAPI - Support XenAPI for XenServer
|
||||||
#######################################
|
#######################################
|
||||||
|
@ -118,9 +118,6 @@ network
|
|||||||
compute
|
compute
|
||||||
manila-share
|
manila-share
|
||||||
|
|
||||||
[opendaylight:children]
|
|
||||||
network
|
|
||||||
|
|
||||||
[cinder:children]
|
[cinder:children]
|
||||||
control
|
control
|
||||||
|
|
||||||
|
@ -143,9 +143,6 @@ network
|
|||||||
compute
|
compute
|
||||||
manila-share
|
manila-share
|
||||||
|
|
||||||
[opendaylight:children]
|
|
||||||
network
|
|
||||||
|
|
||||||
[cinder:children]
|
[cinder:children]
|
||||||
control
|
control
|
||||||
|
|
||||||
|
@ -93,7 +93,6 @@
|
|||||||
- "05-libvirt"
|
- "05-libvirt"
|
||||||
- "06-zookeeper"
|
- "06-zookeeper"
|
||||||
- "07-kafka"
|
- "07-kafka"
|
||||||
- "08-opendaylight"
|
|
||||||
- "09-monasca"
|
- "09-monasca"
|
||||||
notify:
|
notify:
|
||||||
- Restart fluentd container
|
- Restart fluentd container
|
||||||
@ -317,7 +316,6 @@
|
|||||||
- { name: "neutron", enabled: "{{ enable_neutron }}" }
|
- { name: "neutron", enabled: "{{ enable_neutron }}" }
|
||||||
- { name: "nova", enabled: "{{ enable_nova }}" }
|
- { name: "nova", enabled: "{{ enable_nova }}" }
|
||||||
- { name: "octavia", enabled: "{{ enable_octavia }}" }
|
- { name: "octavia", enabled: "{{ enable_octavia }}" }
|
||||||
- { name: "opendaylight", enabled: "{{ enable_opendaylight }}" }
|
|
||||||
- { name: "outward-rabbitmq", enabled: "{{ enable_outward_rabbitmq }}" }
|
- { name: "outward-rabbitmq", enabled: "{{ enable_outward_rabbitmq }}" }
|
||||||
- { name: "panko", enabled: "{{ enable_panko }}" }
|
- { name: "panko", enabled: "{{ enable_panko }}" }
|
||||||
- { name: "qinling", enabled: "{{ enable_qinling }}" }
|
- { name: "qinling", enabled: "{{ enable_qinling }}" }
|
||||||
|
@ -1,10 +0,0 @@
|
|||||||
<source>
|
|
||||||
@type tail
|
|
||||||
path /var/log/kolla/opendaylight/karaf.log
|
|
||||||
pos_file /var/run/{{ fluentd_binary }}/opendaylight.pos
|
|
||||||
tag infra.opendaylight
|
|
||||||
format multiline
|
|
||||||
format_firstline /\d{4}-\d{2}-\d{2}/
|
|
||||||
format1 /^(?<time>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\,\d{3})\s+\|\s+(?<level>[^|\s]+)\s+\|\s+(?<thread>[^|]+)\s+\|\s+(?<class>[\d -}]+)\s+\|\s+(?<bundle>[^|]+)\s+\|\s+(?<msg>.*)/
|
|
||||||
time_format %Y-%m-%d %H:%M:%S,%L
|
|
||||||
</source>
|
|
@ -1,3 +0,0 @@
|
|||||||
"/var/log/kolla/opendaylight/*.log"
|
|
||||||
{
|
|
||||||
}
|
|
@ -43,7 +43,6 @@
|
|||||||
( 'neutron', enable_neutron ),
|
( 'neutron', enable_neutron ),
|
||||||
( 'nova', enable_nova ),
|
( 'nova', enable_nova ),
|
||||||
( 'octavia', enable_octavia ),
|
( 'octavia', enable_octavia ),
|
||||||
( 'opendaylight', enable_opendaylight ),
|
|
||||||
( 'outward-rabbitmq', enable_outward_rabbitmq ),
|
( 'outward-rabbitmq', enable_outward_rabbitmq ),
|
||||||
( 'panko', enable_panko ),
|
( 'panko', enable_panko ),
|
||||||
( 'qinling', enable_qinling ),
|
( 'qinling', enable_qinling ),
|
||||||
|
@ -93,7 +93,7 @@ neutron_services:
|
|||||||
container_name: "neutron_l3_agent"
|
container_name: "neutron_l3_agent"
|
||||||
image: "{{ neutron_l3_agent_image_full }}"
|
image: "{{ neutron_l3_agent_image_full }}"
|
||||||
privileged: True
|
privileged: True
|
||||||
enabled: "{{ neutron_plugin_agent not in ['vmware_nsxv', 'vmware_nsxv3', 'vmware_dvs'] and not enable_opendaylight_l3 | bool and not enable_onos | bool }}"
|
enabled: "{{ neutron_plugin_agent not in ['vmware_nsxv', 'vmware_nsxv3', 'vmware_dvs'] and not enable_onos | bool }}"
|
||||||
environment:
|
environment:
|
||||||
KOLLA_LEGACY_IPTABLES: "{{ neutron_legacy_iptables | bool | lower }}"
|
KOLLA_LEGACY_IPTABLES: "{{ neutron_legacy_iptables | bool | lower }}"
|
||||||
host_in_groups: >-
|
host_in_groups: >-
|
||||||
@ -198,7 +198,7 @@ neutron_openvswitch_agent_image: "{{ docker_registry ~ '/' if docker_registry el
|
|||||||
neutron_openvswitch_agent_tag: "{{ neutron_tag }}"
|
neutron_openvswitch_agent_tag: "{{ neutron_tag }}"
|
||||||
neutron_openvswitch_agent_image_full: "{{ neutron_openvswitch_agent_image }}:{{ neutron_openvswitch_agent_tag }}"
|
neutron_openvswitch_agent_image_full: "{{ neutron_openvswitch_agent_image }}:{{ neutron_openvswitch_agent_tag }}"
|
||||||
|
|
||||||
neutron_server_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ neutron_install_type }}-neutron-server{{ '-opendaylight' if enable_opendaylight | bool else '' }}"
|
neutron_server_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ neutron_install_type }}-neutron-server"
|
||||||
neutron_server_tag: "{{ neutron_tag }}"
|
neutron_server_tag: "{{ neutron_tag }}"
|
||||||
neutron_server_image_full: "{{ neutron_server_image }}:{{ neutron_server_tag }}"
|
neutron_server_image_full: "{{ neutron_server_image }}:{{ neutron_server_tag }}"
|
||||||
|
|
||||||
@ -354,7 +354,7 @@ neutron_l3_agent_host_rp_filter_mode: 0
|
|||||||
####################
|
####################
|
||||||
extension_drivers:
|
extension_drivers:
|
||||||
- name: "qos"
|
- name: "qos"
|
||||||
enabled: "{{ enable_neutron_qos | bool or enable_opendaylight_qos | bool }}"
|
enabled: "{{ enable_neutron_qos | bool }}"
|
||||||
- name: "port_security"
|
- name: "port_security"
|
||||||
enabled: true
|
enabled: true
|
||||||
- name: "dns"
|
- name: "dns"
|
||||||
@ -383,17 +383,15 @@ service_plugins:
|
|||||||
- name: "neutron_dynamic_routing.services.bgp.bgp_plugin.BgpPlugin"
|
- name: "neutron_dynamic_routing.services.bgp.bgp_plugin.BgpPlugin"
|
||||||
enabled: "{{ enable_neutron_bgp_dragent | bool }}"
|
enabled: "{{ enable_neutron_bgp_dragent | bool }}"
|
||||||
- name: "qos"
|
- name: "qos"
|
||||||
enabled: "{{ enable_neutron_qos | bool or enable_opendaylight_qos | bool}}"
|
enabled: "{{ enable_neutron_qos | bool }}"
|
||||||
- name: "router"
|
- name: "router"
|
||||||
enabled: "{{ not enable_opendaylight_l3 | bool }}"
|
enabled: true
|
||||||
- name: "segments"
|
- name: "segments"
|
||||||
enabled: "{{ enable_neutron_segments | bool }}"
|
enabled: "{{ enable_neutron_segments | bool }}"
|
||||||
- name: "sfc"
|
- name: "sfc"
|
||||||
enabled: "{{ enable_neutron_sfc | bool }}"
|
enabled: "{{ enable_neutron_sfc | bool }}"
|
||||||
- name: "vpnaas"
|
- name: "vpnaas"
|
||||||
enabled: "{{ enable_neutron_vpnaas | bool }}"
|
enabled: "{{ enable_neutron_vpnaas | bool }}"
|
||||||
- name: "{{ opendaylight_l3_service_plugin }}"
|
|
||||||
enabled: "{{ enable_opendaylight_l3 | bool and enable_opendaylight | bool }}"
|
|
||||||
- name: "port_forwarding"
|
- name: "port_forwarding"
|
||||||
enabled: "{{ enable_neutron_port_forwarding | bool }}"
|
enabled: "{{ enable_neutron_port_forwarding | bool }}"
|
||||||
|
|
||||||
@ -486,9 +484,7 @@ infoblox_wapi_max_results: "-50000"
|
|||||||
######################
|
######################
|
||||||
# Notification Drivers
|
# Notification Drivers
|
||||||
######################
|
######################
|
||||||
notification_drivers:
|
notification_drivers: []
|
||||||
- name: "odl-qos-v2"
|
|
||||||
enabled: "{{ enable_opendaylight_qos | bool }}"
|
|
||||||
|
|
||||||
neutron_notification_drivers: "{{ notification_drivers|selectattr('enabled', 'equalto', true)|list }}"
|
neutron_notification_drivers: "{{ notification_drivers|selectattr('enabled', 'equalto', true)|list }}"
|
||||||
|
|
||||||
|
@ -17,9 +17,5 @@ dhcp_override_mac = {{ vmware_dvs_dhcp_override_mac }}
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if enable_opendaylight | bool %}
|
|
||||||
interface_driver = openvswitch
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
[ovs]
|
[ovs]
|
||||||
ovsdb_connection = tcp:127.0.0.1:{{ ovsdb_port }}
|
ovsdb_connection = tcp:127.0.0.1:{{ ovsdb_port }}
|
||||||
|
@ -18,8 +18,6 @@ mechanism_drivers = openvswitch,{% if enable_ironic_neutron_agent | bool %}barem
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% elif neutron_plugin_agent == "linuxbridge" %}
|
{% elif neutron_plugin_agent == "linuxbridge" %}
|
||||||
mechanism_drivers = linuxbridge,l2population
|
mechanism_drivers = linuxbridge,l2population
|
||||||
{% elif neutron_plugin_agent == "opendaylight" %}
|
|
||||||
mechanism_drivers = {{ opendaylight_mechanism_driver }}
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if neutron_extension_drivers %}
|
{% if neutron_extension_drivers %}
|
||||||
@ -28,18 +26,6 @@ extension_drivers = {{ neutron_extension_drivers|map(attribute='name')|join(',')
|
|||||||
extension_drivers = port_security
|
extension_drivers = port_security
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if enable_opendaylight | bool %}
|
|
||||||
[ml2_odl]
|
|
||||||
{% if enable_haproxy | bool %}
|
|
||||||
url = {{ internal_protocol }}://{{ kolla_internal_vip_address | put_address_in_context('url') }}:{{ opendaylight_haproxy_restconf_port }}/controller/nb/v2/neutron
|
|
||||||
{% else %}
|
|
||||||
url = {{ internal_protocol }}://{{ kolla_internal_vip_address | put_address_in_context('url') }}:{{ opendaylight_restconf_port }}/controller/nb/v2/neutron
|
|
||||||
{% endif %}
|
|
||||||
username = admin
|
|
||||||
password = {{ opendaylight_password }}
|
|
||||||
port_binding_controller = {{ opendaylight_port_binding_type }}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if enable_onos | bool %}
|
{% if enable_onos | bool %}
|
||||||
[onos]
|
[onos]
|
||||||
url_path = {{ onos_url }}
|
url_path = {{ onos_url }}
|
||||||
@ -65,13 +51,13 @@ flat_networks = {% for bridge in neutron_bridge_name.split(',') %}physnet{{ loop
|
|||||||
vni_ranges = 1:1000
|
vni_ranges = 1:1000
|
||||||
|
|
||||||
[securitygroup]
|
[securitygroup]
|
||||||
{% if neutron_plugin_agent == "openvswitch" or neutron_plugin_agent == "opendaylight" %}
|
{% if neutron_plugin_agent == "openvswitch" %}
|
||||||
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
|
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
|
||||||
{% elif neutron_plugin_agent == "linuxbridge" %}
|
{% elif neutron_plugin_agent == "linuxbridge" %}
|
||||||
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
|
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if neutron_plugin_agent == "openvswitch" or neutron_plugin_agent == "opendaylight" %}
|
{% if neutron_plugin_agent == "openvswitch" %}
|
||||||
[agent]
|
[agent]
|
||||||
tunnel_types = vxlan
|
tunnel_types = vxlan
|
||||||
{% if nova_compute_virt_type != 'xenapi' %}
|
{% if nova_compute_virt_type != 'xenapi' %}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"command": "neutron-server --config-file /etc/neutron/neutron.conf {% if neutron_plugin_agent in ['openvswitch', 'linuxbridge', 'opendaylight'] %} --config-file /etc/neutron/plugins/ml2/ml2_conf.ini --config-file /etc/neutron/neutron_vpnaas.conf {% elif neutron_plugin_agent in ['vmware_nsxv', 'vmware_nsxv3', 'vmware_dvs'] %} --config-file /etc/neutron/plugins/vmware/nsx.ini {% endif %} --config-file /etc/neutron/fwaas_driver.ini",
|
"command": "neutron-server --config-file /etc/neutron/neutron.conf {% if neutron_plugin_agent in ['openvswitch', 'linuxbridge'] %} --config-file /etc/neutron/plugins/ml2/ml2_conf.ini --config-file /etc/neutron/neutron_vpnaas.conf {% elif neutron_plugin_agent in ['vmware_nsxv', 'vmware_nsxv3', 'vmware_dvs'] %} --config-file /etc/neutron/plugins/vmware/nsx.ini {% endif %} --config-file /etc/neutron/fwaas_driver.ini",
|
||||||
"config_files": [
|
"config_files": [
|
||||||
{
|
{
|
||||||
"source": "{{ container_config_directory }}/neutron.conf",
|
"source": "{{ container_config_directory }}/neutron.conf",
|
||||||
|
@ -24,7 +24,7 @@ rpc_state_report_workers = {{ openstack_service_rpc_workers }}
|
|||||||
# in it is because we are sharing this socket in a volume which is it's own dir
|
# in it is because we are sharing this socket in a volume which is it's own dir
|
||||||
metadata_proxy_socket = /var/lib/neutron/kolla/metadata_proxy
|
metadata_proxy_socket = /var/lib/neutron/kolla/metadata_proxy
|
||||||
|
|
||||||
{% if neutron_plugin_agent == "openvswitch" or neutron_plugin_agent == "opendaylight" %}
|
{% if neutron_plugin_agent == "openvswitch" %}
|
||||||
interface_driver = openvswitch
|
interface_driver = openvswitch
|
||||||
{% elif neutron_plugin_agent == "linuxbridge" %}
|
{% elif neutron_plugin_agent == "linuxbridge" %}
|
||||||
interface_driver = linuxbridge
|
interface_driver = linuxbridge
|
||||||
@ -160,11 +160,6 @@ hmac_keys = {{ osprofiler_secret }}
|
|||||||
connection_string = {{ osprofiler_backend_connection_string }}
|
connection_string = {{ osprofiler_backend_connection_string }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if enable_opendaylight_qos | bool %}
|
|
||||||
[qos]
|
|
||||||
notification_drivers = {{ neutron_notification_drivers|map(attribute='name')|join(',') }}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
[placement]
|
[placement]
|
||||||
auth_type = password
|
auth_type = password
|
||||||
auth_url = {{ keystone_admin_url }}
|
auth_url = {{ keystone_admin_url }}
|
||||||
|
@ -1,68 +0,0 @@
|
|||||||
---
|
|
||||||
project_name: "opendaylight"
|
|
||||||
|
|
||||||
opendaylight_services:
|
|
||||||
opendaylight:
|
|
||||||
container_name: "opendaylight"
|
|
||||||
image: "{{ opendaylight_image_full }}"
|
|
||||||
enabled: True
|
|
||||||
privileged: True
|
|
||||||
group: "opendaylight"
|
|
||||||
host_in_groups: "{{ inventory_hostname in groups['opendaylight'] }}"
|
|
||||||
volumes: "{{ opendaylight_default_volumes + opendaylight_extra_volumes }}"
|
|
||||||
dimensions: "{{ opendaylight_dimensions }}"
|
|
||||||
tty: True
|
|
||||||
haproxy:
|
|
||||||
opendaylight_api:
|
|
||||||
enabled: "{{ enable_opendaylight }}"
|
|
||||||
mode: "http"
|
|
||||||
port: "{{ opendaylight_haproxy_restconf_port }}"
|
|
||||||
backend_http_extra:
|
|
||||||
- "balance source"
|
|
||||||
custom_member_list: "{{ api_haproxy_members.split(';') }}"
|
|
||||||
opendaylight_api_backup:
|
|
||||||
enabled: "{{ enable_opendaylight }}"
|
|
||||||
mode: "http"
|
|
||||||
port: "{{ opendaylight_haproxy_restconf_port_backup }}"
|
|
||||||
backend_http_extra:
|
|
||||||
- "balance source"
|
|
||||||
custom_member_list: "{{ backup_api_haproxy_members.split(';') }}"
|
|
||||||
opendaylight_websocket:
|
|
||||||
enabled: "{{ enable_opendaylight }}"
|
|
||||||
mode: "http"
|
|
||||||
port: "{{ opendaylight_websocket_port }}"
|
|
||||||
backend_http_extra:
|
|
||||||
- "balance source"
|
|
||||||
|
|
||||||
####################
|
|
||||||
# HAProxy
|
|
||||||
####################
|
|
||||||
api_haproxy_members: "{% for host in groups['opendaylight'] %}server {{ hostvars[host]['ansible_hostname'] }} {{ 'api' | kolla_address(host) }}:{{ opendaylight_restconf_port }} check inter 2000 rise 2 fall 5;{% endfor %}"
|
|
||||||
backup_api_haproxy_members: "{% for host in groups['opendaylight'] %}server {{ hostvars[host]['ansible_hostname'] }} {{ 'api' | kolla_address(host) }}:{{ opendaylight_restconf_port_backup }} check inter 2000 rise 2 fall 5;{% endfor %}"
|
|
||||||
|
|
||||||
####################
|
|
||||||
# Docker
|
|
||||||
####################
|
|
||||||
|
|
||||||
opendaylight_install_type: "{{ kolla_install_type }}"
|
|
||||||
opendaylight_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ opendaylight_install_type }}-opendaylight"
|
|
||||||
opendaylight_tag: "{{ openstack_release }}"
|
|
||||||
opendaylight_image_full: "{{ opendaylight_image }}:{{ opendaylight_tag }}"
|
|
||||||
opendaylight_dimensions: "{{ default_container_dimensions }}"
|
|
||||||
|
|
||||||
opendaylight_default_volumes:
|
|
||||||
- "{{ node_config_directory }}/opendaylight/:{{ container_config_directory }}/:ro"
|
|
||||||
- "/etc/localtime:/etc/localtime:ro"
|
|
||||||
- "kolla_logs:/var/log/kolla/"
|
|
||||||
|
|
||||||
opendaylight_extra_volumes: "{{ default_extra_volumes }}"
|
|
||||||
|
|
||||||
|
|
||||||
###################
|
|
||||||
# Java Opts
|
|
||||||
###################
|
|
||||||
|
|
||||||
# JAVA_MAX_MEM param
|
|
||||||
opendaylight_java_max_mem: "8g"
|
|
||||||
# JAVA_MAX_PERM_MEM param
|
|
||||||
opendaylight_java_max_perm_mem: "512m"
|
|
@ -1,17 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Restart opendaylight container
|
|
||||||
vars:
|
|
||||||
service_name: "opendaylight"
|
|
||||||
service: "{{ opendaylight_services[service_name] }}"
|
|
||||||
become: true
|
|
||||||
kolla_docker:
|
|
||||||
action: "recreate_or_restart_container"
|
|
||||||
common_options: "{{ docker_common_options }}"
|
|
||||||
name: "{{ service.container_name }}"
|
|
||||||
image: "{{ service.image }}"
|
|
||||||
volumes: "{{ service.volumes }}"
|
|
||||||
privileged: "{{ service.privileged | default(False) }}"
|
|
||||||
dimensions: "{{ service.dimensions }}"
|
|
||||||
tty: "{{ service.tty }}"
|
|
||||||
when:
|
|
||||||
- kolla_action != "config"
|
|
@ -1,3 +0,0 @@
|
|||||||
---
|
|
||||||
dependencies:
|
|
||||||
- { role: common }
|
|
@ -1,18 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Check opendaylight containers
|
|
||||||
become: true
|
|
||||||
kolla_docker:
|
|
||||||
action: "compare_container"
|
|
||||||
common_options: "{{ docker_common_options }}"
|
|
||||||
name: "{{ item.value.container_name }}"
|
|
||||||
image: "{{ item.value.image }}"
|
|
||||||
privileged: "{{ item.value.privileged | default(False) }}"
|
|
||||||
volumes: "{{ item.value.volumes }}"
|
|
||||||
dimensions: "{{ item.value.dimensions }}"
|
|
||||||
tty: "{{ item.value.tty }}"
|
|
||||||
when:
|
|
||||||
- item.value.enabled | bool
|
|
||||||
- item.value.host_in_groups | bool
|
|
||||||
with_dict: "{{ opendaylight_services }}"
|
|
||||||
notify:
|
|
||||||
- "Restart {{ item.key }} container"
|
|
@ -1 +0,0 @@
|
|||||||
---
|
|
@ -1,197 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Setting sysctl values
|
|
||||||
become: true
|
|
||||||
sysctl: name={{ item.name }} value={{ item.value }} sysctl_set=yes
|
|
||||||
with_items:
|
|
||||||
- { name: "net.bridge.bridge-nf-call-iptables", value: 1}
|
|
||||||
- { name: "net.bridge.bridge-nf-call-ip6tables", value: 1}
|
|
||||||
- { name: "net.ipv4.conf.all.rp_filter", value: 0}
|
|
||||||
- { name: "net.ipv4.conf.default.rp_filter", value: 0}
|
|
||||||
when:
|
|
||||||
- set_sysctl | bool
|
|
||||||
- inventory_hostname in groups['opendaylight']
|
|
||||||
|
|
||||||
- name: Ensuring config directories exist
|
|
||||||
file:
|
|
||||||
path: "{{ node_config_directory }}/{{ item }}"
|
|
||||||
state: "directory"
|
|
||||||
owner: "{{ config_owner_user }}"
|
|
||||||
group: "{{ config_owner_group }}"
|
|
||||||
mode: "0770"
|
|
||||||
become: true
|
|
||||||
with_items:
|
|
||||||
- "opendaylight"
|
|
||||||
|
|
||||||
- name: Copying over config.json files for services
|
|
||||||
template:
|
|
||||||
src: "{{ item }}.json.j2"
|
|
||||||
dest: "{{ node_config_directory }}/{{ item }}/config.json"
|
|
||||||
mode: "0660"
|
|
||||||
become: true
|
|
||||||
with_items:
|
|
||||||
- "opendaylight"
|
|
||||||
notify:
|
|
||||||
- Restart opendaylight container
|
|
||||||
|
|
||||||
- name: Copying over custom.properties
|
|
||||||
template:
|
|
||||||
src: "{{ role_path }}/templates/custom.properties.j2"
|
|
||||||
dest: "{{ node_config_directory }}/opendaylight/custom.properties"
|
|
||||||
mode: "0660"
|
|
||||||
become: true
|
|
||||||
notify:
|
|
||||||
- Restart opendaylight container
|
|
||||||
|
|
||||||
- name: Copying over start-odl
|
|
||||||
template:
|
|
||||||
src: "{{ role_path }}/templates/start-odl.j2"
|
|
||||||
dest: "{{ node_config_directory }}/opendaylight/start-odl"
|
|
||||||
mode: "0660"
|
|
||||||
become: true
|
|
||||||
notify:
|
|
||||||
- Restart opendaylight container
|
|
||||||
|
|
||||||
- name: Copying over jetty.xml
|
|
||||||
template:
|
|
||||||
src: "{{ role_path }}/templates/jetty.xml.j2"
|
|
||||||
dest: "{{ node_config_directory }}/{{ item }}/jetty.xml"
|
|
||||||
mode: "0660"
|
|
||||||
become: true
|
|
||||||
with_items:
|
|
||||||
- "opendaylight"
|
|
||||||
notify:
|
|
||||||
- Restart opendaylight container
|
|
||||||
|
|
||||||
- name: Copying over org.apache.karaf.features.cfg
|
|
||||||
template:
|
|
||||||
src: "{{ role_path }}/templates/org.apache.karaf.features.cfg.j2"
|
|
||||||
dest: "{{ node_config_directory }}/{{ item }}/org.apache.karaf.features.cfg"
|
|
||||||
mode: "0660"
|
|
||||||
become: true
|
|
||||||
with_items:
|
|
||||||
- "opendaylight"
|
|
||||||
notify:
|
|
||||||
- Restart opendaylight container
|
|
||||||
|
|
||||||
- name: Copying over org.opendaylight.ovsdb.library.cfg
|
|
||||||
template:
|
|
||||||
src: "{{ role_path }}/templates/org.opendaylight.ovsdb.library.cfg.j2"
|
|
||||||
dest: "{{ node_config_directory }}/{{ item }}/org.opendaylight.ovsdb.library.cfg"
|
|
||||||
mode: "0660"
|
|
||||||
become: true
|
|
||||||
with_items:
|
|
||||||
- "opendaylight"
|
|
||||||
notify:
|
|
||||||
- Restart opendaylight container
|
|
||||||
|
|
||||||
- name: Copying over tomcat-server.xml
|
|
||||||
template:
|
|
||||||
src: "{{ role_path }}/templates/tomcat-server.xml.j2"
|
|
||||||
dest: "{{ node_config_directory }}/{{ item }}/tomcat-server.xml"
|
|
||||||
mode: "0660"
|
|
||||||
become: true
|
|
||||||
with_items:
|
|
||||||
- "opendaylight"
|
|
||||||
notify:
|
|
||||||
- Restart opendaylight container
|
|
||||||
|
|
||||||
- name: Copying over org.ops4j.pax.logging.cfg.j2
|
|
||||||
template:
|
|
||||||
src: "{{ role_path }}/templates/org.ops4j.pax.logging.cfg.j2"
|
|
||||||
dest: "{{ node_config_directory }}/{{ item }}/org.ops4j.pax.logging.cfg"
|
|
||||||
mode: "0660"
|
|
||||||
become: true
|
|
||||||
with_items:
|
|
||||||
- "opendaylight"
|
|
||||||
notify:
|
|
||||||
- Restart opendaylight container
|
|
||||||
|
|
||||||
- name: Copying over netvirt-impl-config_netvirt-impl-config.xml
|
|
||||||
template:
|
|
||||||
src: "{{ role_path }}/templates/netvirt-impl-config_netvirt-impl-config.xml.j2"
|
|
||||||
dest: "{{ node_config_directory }}/{{ item }}/netvirt-impl-config_netvirt-impl-config.xml"
|
|
||||||
mode: "0660"
|
|
||||||
become: true
|
|
||||||
with_items:
|
|
||||||
- "opendaylight"
|
|
||||||
notify:
|
|
||||||
- Restart opendaylight container
|
|
||||||
|
|
||||||
- name: Copying over netvirt-aclservice-config.xml
|
|
||||||
template:
|
|
||||||
src: "{{ role_path }}/templates/netvirt-aclservice-config.xml.j2"
|
|
||||||
dest: "{{ node_config_directory }}/{{ item }}/netvirt-aclservice-config.xml"
|
|
||||||
mode: "0660"
|
|
||||||
become: true
|
|
||||||
with_items:
|
|
||||||
- "opendaylight"
|
|
||||||
notify:
|
|
||||||
- Restart opendaylight container
|
|
||||||
|
|
||||||
- name: Copying over setenv
|
|
||||||
template:
|
|
||||||
src: "{{ item }}"
|
|
||||||
dest: "{{ node_config_directory }}/opendaylight/setenv"
|
|
||||||
mode: "0660"
|
|
||||||
become: true
|
|
||||||
with_first_found:
|
|
||||||
- "{{ node_custom_config }}/opendaylight/{{ inventory_hostname }}/setenv"
|
|
||||||
- "{{ node_custom_config }}/opendaylight/setenv"
|
|
||||||
- "{{ role_path }}/templates/setenv.j2"
|
|
||||||
notify:
|
|
||||||
- Restart opendaylight container
|
|
||||||
|
|
||||||
- name: Copying over akka.conf
|
|
||||||
template:
|
|
||||||
src: "{{ item }}"
|
|
||||||
dest: "{{ node_config_directory }}/opendaylight/akka.conf"
|
|
||||||
mode: "0660"
|
|
||||||
become: true
|
|
||||||
with_first_found:
|
|
||||||
- "{{ node_custom_config }}/opendaylight/{{ inventory_hostname }}/akka.conf"
|
|
||||||
- "{{ node_custom_config }}/opendaylight/akka.conf"
|
|
||||||
- "akka.conf.j2"
|
|
||||||
notify:
|
|
||||||
- Restart opendaylight container
|
|
||||||
|
|
||||||
- name: Copying over modules.conf
|
|
||||||
template:
|
|
||||||
src: "{{ item }}"
|
|
||||||
dest: "{{ node_config_directory }}/opendaylight/modules.conf"
|
|
||||||
mode: "0660"
|
|
||||||
become: true
|
|
||||||
with_first_found:
|
|
||||||
- "{{ node_custom_config }}/opendaylight/{{ inventory_hostname }}/modules.conf"
|
|
||||||
- "{{ node_custom_config }}/opendaylight/modules.conf"
|
|
||||||
- "modules.conf.j2"
|
|
||||||
notify:
|
|
||||||
- Restart opendaylight container
|
|
||||||
|
|
||||||
- name: Copying over module-shards.conf
|
|
||||||
template:
|
|
||||||
src: "{{ item }}"
|
|
||||||
dest: "{{ node_config_directory }}/opendaylight/module-shards.conf"
|
|
||||||
mode: "0660"
|
|
||||||
become: true
|
|
||||||
with_first_found:
|
|
||||||
- "{{ node_custom_config }}/opendaylight/{{ inventory_hostname }}/module-shards.conf"
|
|
||||||
- "{{ node_custom_config }}/opendaylight/module-shards.conf"
|
|
||||||
- "module-shards.conf.j2"
|
|
||||||
notify:
|
|
||||||
- Restart opendaylight container
|
|
||||||
|
|
||||||
- name: Copying over 10-rest-connector.xml
|
|
||||||
template:
|
|
||||||
src: "{{ item }}"
|
|
||||||
dest: "{{ node_config_directory }}/opendaylight/10-rest-connector.xml"
|
|
||||||
mode: "0660"
|
|
||||||
become: true
|
|
||||||
with_first_found:
|
|
||||||
- "{{ node_custom_config }}/opendaylight/{{ inventory_hostname }}/10-rest-connector.xml"
|
|
||||||
- "{{ node_custom_config }}/opendaylight/10-rest-connector.xml"
|
|
||||||
- "10-rest-connector.xml.j2"
|
|
||||||
notify:
|
|
||||||
- Restart opendaylight container
|
|
||||||
|
|
||||||
- include_tasks: check-containers.yml
|
|
||||||
when: kolla_action != "config"
|
|
@ -1,2 +0,0 @@
|
|||||||
---
|
|
||||||
- import_tasks: check-containers.yml
|
|
@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
- include_tasks: config.yml
|
|
||||||
|
|
||||||
- name: Flush Handlers
|
|
||||||
meta: flush_handlers
|
|
@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
- name: "Configure haproxy for {{ project_name }}"
|
|
||||||
import_role:
|
|
||||||
role: haproxy-config
|
|
||||||
vars:
|
|
||||||
project_services: "{{ opendaylight_services }}"
|
|
||||||
tags: always
|
|
@ -1,2 +0,0 @@
|
|||||||
---
|
|
||||||
- include_tasks: "{{ kolla_action }}.yml"
|
|
@ -1,112 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Get container facts
|
|
||||||
become: true
|
|
||||||
kolla_container_facts:
|
|
||||||
name:
|
|
||||||
- opendaylight
|
|
||||||
register: container_facts
|
|
||||||
|
|
||||||
- name: Checking free port for opendaylight_clustering
|
|
||||||
wait_for:
|
|
||||||
host: "{{ 'api' | kolla_address }}"
|
|
||||||
port: "{{ opendaylight_clustering_port }}"
|
|
||||||
connect_timeout: 1
|
|
||||||
state: stopped
|
|
||||||
when:
|
|
||||||
- inventory_hostname in groups['opendaylight']
|
|
||||||
- container_facts['opendaylight'] is not defined
|
|
||||||
|
|
||||||
- name: Checking free port for opendaylight_restconf
|
|
||||||
wait_for:
|
|
||||||
host: "{{ 'api' | kolla_address }}"
|
|
||||||
port: "{{ opendaylight_restconf_port }}"
|
|
||||||
connect_timeout: 1
|
|
||||||
state: stopped
|
|
||||||
when:
|
|
||||||
- inventory_hostname in groups['opendaylight']
|
|
||||||
- container_facts['opendaylight'] is not defined
|
|
||||||
|
|
||||||
- name: Checking free port for opendaylight_restconf_backup
|
|
||||||
wait_for:
|
|
||||||
host: "{{ 'api' | kolla_address }}"
|
|
||||||
port: "{{ opendaylight_restconf_port_backup }}"
|
|
||||||
connect_timeout: 1
|
|
||||||
state: stopped
|
|
||||||
when:
|
|
||||||
- inventory_hostname in groups['opendaylight']
|
|
||||||
- container_facts['opendaylight'] is not defined
|
|
||||||
|
|
||||||
- name: Checking free port for opendaylight_karaf_ssh
|
|
||||||
wait_for:
|
|
||||||
host: "{{ 'api' | kolla_address }}"
|
|
||||||
port: "{{ opendaylight_karaf_ssh_port }}"
|
|
||||||
connect_timeout: 1
|
|
||||||
state: stopped
|
|
||||||
when:
|
|
||||||
- inventory_hostname in groups['opendaylight']
|
|
||||||
- container_facts['opendaylight'] is not defined
|
|
||||||
|
|
||||||
- name: Checking free port for opendaylight_openflow
|
|
||||||
wait_for:
|
|
||||||
host: "{{ 'api' | kolla_address }}"
|
|
||||||
port: "{{ opendaylight_openflow_port }}"
|
|
||||||
connect_timeout: 1
|
|
||||||
state: stopped
|
|
||||||
when:
|
|
||||||
- inventory_hostname in groups['opendaylight']
|
|
||||||
- container_facts['opendaylight'] is not defined
|
|
||||||
|
|
||||||
- name: Checking free port for opendaylight_ovsdb
|
|
||||||
wait_for:
|
|
||||||
host: "{{ 'api' | kolla_address }}"
|
|
||||||
port: "{{ opendaylight_ovsdb_port }}"
|
|
||||||
connect_timeout: 1
|
|
||||||
state: stopped
|
|
||||||
when:
|
|
||||||
- inventory_hostname in groups['opendaylight']
|
|
||||||
- container_facts['opendaylight'] is not defined
|
|
||||||
|
|
||||||
- name: Checking free port for opendaylight_jetty_conf_port
|
|
||||||
wait_for:
|
|
||||||
host: "{{ 'api' | kolla_address }}"
|
|
||||||
port: "{{ opendaylight_jetty_conf_port }}"
|
|
||||||
connect_timeout: 1
|
|
||||||
state: stopped
|
|
||||||
when:
|
|
||||||
- inventory_hostname in groups['opendaylight']
|
|
||||||
- container_facts['opendaylight'] is not defined
|
|
||||||
|
|
||||||
- name: Checking free port for opendaylight_jetty_conf2_port
|
|
||||||
wait_for:
|
|
||||||
host: "{{ 'api' | kolla_address }}"
|
|
||||||
port: "{{ opendaylight_jetty_conf2_port }}"
|
|
||||||
connect_timeout: 1
|
|
||||||
state: stopped
|
|
||||||
when:
|
|
||||||
- inventory_hostname in groups['opendaylight']
|
|
||||||
- container_facts['opendaylight'] is not defined
|
|
||||||
|
|
||||||
- name: Checking free port for opendaylight_tomcat_port
|
|
||||||
wait_for:
|
|
||||||
host: "{{ 'api' | kolla_address }}"
|
|
||||||
port: "{{ opendaylight_tomcat_port }}"
|
|
||||||
connect_timeout: 1
|
|
||||||
state: stopped
|
|
||||||
when:
|
|
||||||
- inventory_hostname in groups['opendaylight']
|
|
||||||
- container_facts['opendaylight'] is not defined
|
|
||||||
|
|
||||||
- name: Checking free port for opendaylight_tomcat_redirect_port
|
|
||||||
wait_for:
|
|
||||||
host: "{{ 'api' | kolla_address }}"
|
|
||||||
port: "{{ opendaylight_tomcat_redirect_port }}"
|
|
||||||
connect_timeout: 1
|
|
||||||
state: stopped
|
|
||||||
when:
|
|
||||||
- inventory_hostname in groups['opendaylight']
|
|
||||||
- container_facts['opendaylight'] is not defined
|
|
||||||
|
|
||||||
- name: Checking available opendaylight nodes in inventory
|
|
||||||
fail:
|
|
||||||
msg: "Either 1 or 3 nodes required in inventory for OpenDaylight clustering"
|
|
||||||
when: groups['opendaylight'] | length == 2
|
|
@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Pulling opendaylight image
|
|
||||||
become: true
|
|
||||||
kolla_docker:
|
|
||||||
action: "pull_image"
|
|
||||||
common_options: "{{ docker_common_options }}"
|
|
||||||
image: "{{ item.value.image }}"
|
|
||||||
when:
|
|
||||||
- item.value.enabled | bool
|
|
||||||
- item.value.host_in_groups | bool
|
|
||||||
with_dict: "{{ opendaylight_services }}"
|
|
@ -1,2 +0,0 @@
|
|||||||
---
|
|
||||||
- include_tasks: deploy.yml
|
|
@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
- import_role:
|
|
||||||
role: service-stop
|
|
||||||
vars:
|
|
||||||
project_services: "{{ opendaylight_services }}"
|
|
||||||
service_name: "{{ project_name }}"
|
|
@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
- include_tasks: config.yml
|
|
||||||
|
|
||||||
- name: Flush Handlers
|
|
||||||
meta: flush_handlers
|
|
@ -1,42 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
|
|
||||||
|
|
||||||
This program and the accompanying materials are made available under the
|
|
||||||
terms of the Eclipse Public License v1.0 which accompanies this distribution,
|
|
||||||
and is available at http://www.eclipse.org/legal/epl-v10.html
|
|
||||||
-->
|
|
||||||
<snapshot>
|
|
||||||
<configuration>
|
|
||||||
<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
|
|
||||||
<modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
|
|
||||||
<!-- default OF-switch-connection-provider (port 6633) -->
|
|
||||||
<module>
|
|
||||||
<type xmlns:rest="urn:opendaylight:params:xml:ns:yang:controller:md:sal:rest:connector">rest:rest-connector-impl</type>
|
|
||||||
<name>rest-connector-default-impl</name>
|
|
||||||
<websocket-address>{{ 'api' | kolla_address }}</websocket-address>
|
|
||||||
<websocket-port>{{ opendaylight_websocket_port }}</websocket-port>
|
|
||||||
<dom-broker>
|
|
||||||
<type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:dom-broker-osgi-registry</type>
|
|
||||||
<name>dom-broker</name>
|
|
||||||
</dom-broker>
|
|
||||||
</module>
|
|
||||||
</modules>
|
|
||||||
|
|
||||||
<services xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
|
|
||||||
<service>
|
|
||||||
<type xmlns:rest="urn:opendaylight:params:xml:ns:yang:controller:md:sal:rest:connector">rest:rest-connector</type>
|
|
||||||
<instance>
|
|
||||||
<name>rest-connector-default</name>
|
|
||||||
<provider>
|
|
||||||
/modules/module[type='rest-connector-impl'][name='rest-connector-default-impl']
|
|
||||||
</provider>
|
|
||||||
</instance>
|
|
||||||
</service>
|
|
||||||
</services>
|
|
||||||
</data>
|
|
||||||
</configuration>
|
|
||||||
<required-capabilities>
|
|
||||||
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:rest:connector?module=opendaylight-rest-connector&revision=2014-07-24</capability>
|
|
||||||
</required-capabilities>
|
|
||||||
</snapshot>
|
|
@ -1,33 +0,0 @@
|
|||||||
|
|
||||||
odl-cluster-data {
|
|
||||||
akka {
|
|
||||||
remote {
|
|
||||||
artery {
|
|
||||||
enabled = off
|
|
||||||
canonical.hostname = "{{ 'api' | kolla_address }}"
|
|
||||||
canonical.port = {{ opendaylight_clustering_port }}
|
|
||||||
}
|
|
||||||
netty.tcp {
|
|
||||||
hostname = "{{ 'api' | kolla_address }}"
|
|
||||||
port = {{ opendaylight_clustering_port }}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
cluster {
|
|
||||||
seed-nodes = [{% for host in groups['opendaylight'] %}"akka.tcp://opendaylight-cluster-data@{{ 'api' | kolla_address(host) | put_address_in_context('url') }}:{{ opendaylight_clustering_port }}"{% if not loop.last %},{% endif %}{% endfor %}]
|
|
||||||
|
|
||||||
roles = [
|
|
||||||
"{{ hostvars[inventory_hostname]['ansible_hostname'] }}"
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
persistence {
|
|
||||||
|
|
||||||
journal {
|
|
||||||
leveldb {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,47 +0,0 @@
|
|||||||
org.osgi.framework.system.packages.extra=org.apache.karaf.branding,sun.reflect,sun.reflect.misc,sun.misc,sun.nio.ch,com.sun.media.sound
|
|
||||||
|
|
||||||
osgi.hook.configurators.include=org.eclipse.virgo.kernel.equinox.extensions.hooks.ExtensionsHookConfigurator
|
|
||||||
|
|
||||||
|
|
||||||
org.eclipse.gemini.web.tomcat.config.path=configuration/tomcat-server.xml
|
|
||||||
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
|
|
||||||
|
|
||||||
karaf.framework=equinox
|
|
||||||
|
|
||||||
karaf.delay.console=true
|
|
||||||
|
|
||||||
org.apache.karaf.security.providers = org.bouncycastle.jce.provider.BouncyCastleProvider
|
|
||||||
|
|
||||||
org.apache.aries.blueprint.preemptiveShutdown=false
|
|
||||||
|
|
||||||
netconf.config.persister.active=1
|
|
||||||
|
|
||||||
netconf.config.persister.1.storageAdapterClass=org.opendaylight.controller.config.persist.storage.file.xml.XmlFileStorageAdapter
|
|
||||||
netconf.config.persister.1.properties.fileStorage=etc/opendaylight/current/controller.currentconfig.xml
|
|
||||||
netconf.config.persister.1.properties.numberOfBackups=1
|
|
||||||
|
|
||||||
logback.configurationFile=configuration/logback.xml
|
|
||||||
|
|
||||||
container.profile = Container
|
|
||||||
|
|
||||||
connection.scheme = ANY_CONTROLLER_ONE_MASTER
|
|
||||||
|
|
||||||
ovsdb.l3.arp.responder.disabled=no
|
|
||||||
|
|
||||||
secureChannelEnabled=false
|
|
||||||
controllerKeyStore=
|
|
||||||
controllerKeyStorePassword=
|
|
||||||
controllerTrustStore=
|
|
||||||
controllerTrustStorePassword=
|
|
||||||
|
|
||||||
enableStrongPasswordCheck = false
|
|
||||||
|
|
||||||
java.util.logging.config.file=configuration/tomcat-logging.properties
|
|
||||||
|
|
||||||
hosttracker.keyscheme=IP
|
|
||||||
|
|
||||||
lisp.mappingMerge = false
|
|
||||||
|
|
||||||
lisp.smr = true
|
|
||||||
|
|
||||||
lisp.elpPolicy = default
|
|
@ -1,90 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one
|
|
||||||
or more contributor license agreements. See the NOTICE file
|
|
||||||
distributed with this work for additional information
|
|
||||||
regarding copyright ownership. The ASF licenses this file
|
|
||||||
to you under the Apache License, Version 2.0 (the
|
|
||||||
"License"); you may not use this file except in compliance
|
|
||||||
with the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing,
|
|
||||||
software distributed under the License is distributed on an
|
|
||||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
KIND, either express or implied. See the License for the
|
|
||||||
specific language governing permissions and limitations
|
|
||||||
under the License.
|
|
||||||
-->
|
|
||||||
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//
|
|
||||||
DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
|
|
||||||
|
|
||||||
<Configure class="org.eclipse.jetty.server.Server">
|
|
||||||
<Call name="addConnector">
|
|
||||||
<Arg>
|
|
||||||
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
|
|
||||||
<Set name="host">
|
|
||||||
<Property name="jetty.host" />
|
|
||||||
</Set>
|
|
||||||
<Set name="port">
|
|
||||||
<Property name="jetty.port" default="{{ opendaylight_restconf_port }}" />
|
|
||||||
</Set>
|
|
||||||
<Set name="maxIdleTime">300000</Set>
|
|
||||||
<Set name="Acceptors">2</Set>
|
|
||||||
<Set name="statsOn">false</Set>
|
|
||||||
<Set name="confidentialPort">{{ opendaylight_jetty_conf_port }}</Set>
|
|
||||||
<Set name="lowResourcesConnections">20000</Set>
|
|
||||||
<Set name="lowResourcesMaxIdleTime">5000</Set>
|
|
||||||
</New>
|
|
||||||
</Arg>
|
|
||||||
</Call>
|
|
||||||
<Call name="addConnector">
|
|
||||||
<Arg>
|
|
||||||
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
|
|
||||||
<Set name="host">
|
|
||||||
<Property name="jetty.host" />
|
|
||||||
</Set>
|
|
||||||
<Set name="port">
|
|
||||||
<Property name="jetty.port" default="{{ opendaylight_restconf_port_backup }}" />
|
|
||||||
</Set>
|
|
||||||
<Set name="maxIdleTime">300000</Set>
|
|
||||||
<Set name="Acceptors">2</Set>
|
|
||||||
<Set name="statsOn">false</Set>
|
|
||||||
<Set name="confidentialPort">{{ opendaylight_jetty_conf2_port }}</Set>
|
|
||||||
<Set name="lowResourcesConnections">20000</Set>
|
|
||||||
<Set name="lowResourcesMaxIdleTime">5000</Set>
|
|
||||||
</New>
|
|
||||||
</Arg>
|
|
||||||
</Call>
|
|
||||||
|
|
||||||
<Call name="addBean">
|
|
||||||
<Arg>
|
|
||||||
<New class="org.eclipse.jetty.plus.jaas.JAASLoginService">
|
|
||||||
<Set name="name">karaf</Set>
|
|
||||||
<Set name="loginModuleName">karaf</Set>
|
|
||||||
<Set name="roleClassNames">
|
|
||||||
<Array type="java.lang.String">
|
|
||||||
<Item>org.apache.karaf.jaas.boot.principal.RolePrincipal
|
|
||||||
</Item>
|
|
||||||
</Array>
|
|
||||||
</Set>
|
|
||||||
</New>
|
|
||||||
</Arg>
|
|
||||||
</Call>
|
|
||||||
<Call name="addBean">
|
|
||||||
<Arg>
|
|
||||||
<New class="org.eclipse.jetty.plus.jaas.JAASLoginService">
|
|
||||||
<Set name="name">default</Set>
|
|
||||||
<Set name="loginModuleName">karaf</Set>
|
|
||||||
<Set name="roleClassNames">
|
|
||||||
<Array type="java.lang.String">
|
|
||||||
<Item>org.apache.karaf.jaas.boot.principal.RolePrincipal
|
|
||||||
</Item>
|
|
||||||
</Array>
|
|
||||||
</Set>
|
|
||||||
</New>
|
|
||||||
</Arg>
|
|
||||||
</Call>
|
|
||||||
|
|
||||||
</Configure>
|
|
@ -1,59 +0,0 @@
|
|||||||
module-shards = [
|
|
||||||
{
|
|
||||||
name = "default"
|
|
||||||
shards = [
|
|
||||||
{
|
|
||||||
name="default"
|
|
||||||
replicas = [
|
|
||||||
{% for host in groups['opendaylight'] %}
|
|
||||||
"{{ hostvars[host]['ansible_hostname'] }}"{% if not loop.last %},
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name = "topology"
|
|
||||||
shards = [
|
|
||||||
{
|
|
||||||
name="topology"
|
|
||||||
replicas = [
|
|
||||||
{% for host in groups['opendaylight'] %}
|
|
||||||
"{{ hostvars[host]['ansible_hostname'] }}"{% if not loop.last %},
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name = "inventory"
|
|
||||||
shards = [
|
|
||||||
{
|
|
||||||
name="inventory"
|
|
||||||
replicas = [
|
|
||||||
{% for host in groups['opendaylight'] %}
|
|
||||||
"{{ hostvars[host]['ansible_hostname'] }}"{% if not loop.last %},
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name = "toaster"
|
|
||||||
shards = [
|
|
||||||
{
|
|
||||||
name="toaster"
|
|
||||||
replicas = [
|
|
||||||
{% for host in groups['opendaylight'] %}
|
|
||||||
"{{ hostvars[host]['ansible_hostname'] }}"{% if not loop.last %},
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
]
|
|
@ -1,20 +0,0 @@
|
|||||||
modules = [
|
|
||||||
{
|
|
||||||
name = "inventory"
|
|
||||||
namespace = "urn:opendaylight:inventory"
|
|
||||||
shard-strategy = "module"
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
name = "topology"
|
|
||||||
namespace = "urn:TBD:params:xml:ns:yang:network-topology"
|
|
||||||
shard-strategy = "module"
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
name = "toaster"
|
|
||||||
namespace = "http://netconfcentral.org/ns/toaster"
|
|
||||||
shard-strategy = "module"
|
|
||||||
}
|
|
||||||
|
|
||||||
]
|
|
@ -1,4 +0,0 @@
|
|||||||
<aclservice-config xmlns="urn:opendaylight:netvirt:aclservice-config">
|
|
||||||
<security-group-mode>{{ opendaylight_acl_impl }}</security-group-mode>
|
|
||||||
<default-behavior>deny</default-behavior>
|
|
||||||
</aclservice-config>
|
|
@ -1,7 +0,0 @@
|
|||||||
{% if enable_opendaylight_legacy_netvirt_conntrack | bool %}
|
|
||||||
<netvirt-impl-config xmlns="urn:opendaylight:params:xml:ns:yang:netvirt:impl:config">
|
|
||||||
<conntrack-enabled>
|
|
||||||
true
|
|
||||||
</conntrack-enabled>
|
|
||||||
</netvirt-impl-config>
|
|
||||||
{% endif %}
|
|
@ -1,96 +0,0 @@
|
|||||||
{
|
|
||||||
"command": "start-odl",
|
|
||||||
"config_files": [
|
|
||||||
{
|
|
||||||
"source": "{{ container_config_directory }}/start-odl",
|
|
||||||
"dest": "/usr/local/bin/start-odl",
|
|
||||||
"owner": "odl",
|
|
||||||
"perm": "0655"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"source": "{{ container_config_directory }}/org.apache.karaf.features.cfg",
|
|
||||||
"dest": "/opt/opendaylight/etc/org.apache.karaf.features.cfg",
|
|
||||||
"owner": "odl",
|
|
||||||
"perm": "0600"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"source": "{{ container_config_directory }}/org.opendaylight.ovsdb.library.cfg",
|
|
||||||
"dest": "/opt/opendaylight/etc/org.opendaylight.ovsdb.library.cfg",
|
|
||||||
"owner": "odl",
|
|
||||||
"perm": "0600"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"source": "{{ container_config_directory }}/tomcat-server.xml",
|
|
||||||
"dest": "/opt/opendaylight/configuration/tomcat-server.xml",
|
|
||||||
"owner": "odl",
|
|
||||||
"perm": "0600"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"source": "{{ container_config_directory }}/jetty.xml",
|
|
||||||
"dest": "/opt/opendaylight/etc/jetty.xml",
|
|
||||||
"owner": "odl",
|
|
||||||
"perm": "0600"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"source": "{{ container_config_directory }}/org.ops4j.pax.logging.cfg",
|
|
||||||
"dest": "/opt/opendaylight/etc/org.ops4j.pax.logging.cfg",
|
|
||||||
"owner": "odl",
|
|
||||||
"perm": "0600"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"source": "/var/lib/kolla/config_files/custom.properties",
|
|
||||||
"dest": "/opt/opendaylight/etc/custom.properties",
|
|
||||||
"owner": "odl",
|
|
||||||
"perm": "0600"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"source": "{{ container_config_directory }}/netvirt-impl-config_netvirt-impl-config.xml",
|
|
||||||
"dest": "/opt/opendaylight/etc/opendaylight/datastore/initial/config/netvirt-impl-config_netvirt-impl-config.xml",
|
|
||||||
"owner": "odl",
|
|
||||||
"perm": "0600"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"source": "{{ container_config_directory }}/netvirt-aclservice-config.xml",
|
|
||||||
"dest": "/opt/opendaylight/etc/opendaylight/datastore/initial/config/netvirt-aclservice-config.xml",
|
|
||||||
"owner": "odl",
|
|
||||||
"perm": "0600"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"source": "{{ container_config_directory }}/setenv",
|
|
||||||
"dest": "/opt/opendaylight/bin/setenv",
|
|
||||||
"owner": "odl",
|
|
||||||
"perm": "0600"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"source": "{{ container_config_directory }}/akka.conf",
|
|
||||||
"dest": "/opt/opendaylight/configuration/initial/akka.conf",
|
|
||||||
"owner": "odl",
|
|
||||||
"perm": "0600"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"source": "{{ container_config_directory }}/modules.conf",
|
|
||||||
"dest": "/opt/opendaylight/configuration/initial/modules.conf",
|
|
||||||
"owner": "odl",
|
|
||||||
"perm": "0600"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"source": "{{ container_config_directory }}/module-shards.conf",
|
|
||||||
"dest": "/opt/opendaylight/configuration/initial/module-shards.conf",
|
|
||||||
"owner": "odl",
|
|
||||||
"perm": "0600"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"source": "{{ container_config_directory }}/10-rest-connector.xml",
|
|
||||||
"dest": "/opt/opendaylight/etc/opendaylight/karaf/10-rest-connector.xml",
|
|
||||||
"owner": "odl",
|
|
||||||
"perm": "0600"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"permissions": [
|
|
||||||
{
|
|
||||||
"path": "/var/log/kolla/opendaylight",
|
|
||||||
"owner": "odl:odl",
|
|
||||||
"recurse": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
#
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
# (the "License"); you may not use this file except in compliance with
|
|
||||||
# the License. You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
#
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
featuresRepositories = mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features, \
|
|
||||||
mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features, \
|
|
||||||
mvn:org.ops4j.pax.web/pax-web-features/3.2.9/xml/features, \
|
|
||||||
mvn:org.apache.karaf.features/spring/${karaf.version}/xml/features, \
|
|
||||||
mvn:org.opendaylight.integration/features-integration-index/${project.version}/xml/features
|
|
||||||
|
|
||||||
featuresBoot=config,standard,region,package,kar,ssh,management{% if not opendaylight_features == '' %},{% endif %}{{ opendaylight_features }}
|
|
||||||
|
|
||||||
featuresBootAsynchronous=false
|
|
@ -1,7 +0,0 @@
|
|||||||
ovsdb-listener-port = {{ opendaylight_ovsdb_port }}
|
|
||||||
|
|
||||||
use-ssl = false
|
|
||||||
|
|
||||||
json-rpc-decoder-max-frame-length = 100000
|
|
||||||
|
|
||||||
ovsdb-rpc-task-timeout = 1000
|
|
@ -1,52 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
#
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
# (the "License"); you may not use this file except in compliance with
|
|
||||||
# the License. You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
#
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
log4j.rootLogger=INFO, async, osgi:*
|
|
||||||
log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer
|
|
||||||
|
|
||||||
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
|
|
||||||
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
|
|
||||||
log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
|
|
||||||
|
|
||||||
log4j.appender.async=org.apache.log4j.AsyncAppender
|
|
||||||
log4j.appender.async.appenders=out
|
|
||||||
|
|
||||||
log4j.appender.out=org.apache.log4j.RollingFileAppender
|
|
||||||
log4j.appender.out.layout=org.apache.log4j.PatternLayout
|
|
||||||
log4j.appender.out.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
|
|
||||||
log4j.appender.out.file=/var/log/kolla/opendaylight/karaf.log
|
|
||||||
log4j.appender.out.append=true
|
|
||||||
log4j.appender.out.maxFileSize=1MB
|
|
||||||
log4j.appender.out.maxBackupIndex=10
|
|
||||||
|
|
||||||
log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender
|
|
||||||
log4j.appender.sift.key=bundle.name
|
|
||||||
log4j.appender.sift.default=karaf
|
|
||||||
log4j.appender.sift.appender=org.apache.log4j.FileAppender
|
|
||||||
log4j.appender.sift.appender.layout=org.apache.log4j.PatternLayout
|
|
||||||
log4j.appender.sift.appender.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %m%n
|
|
||||||
log4j.appender.sift.appender.file=/var/log/kolla/opendaylight/$\\{bundle.name\\}.log
|
|
||||||
log4j.appender.sift.appender.append=true
|
|
||||||
|
|
||||||
log4j.appender.syslog=org.apache.log4j.net.SyslogAppender
|
|
||||||
log4j.appender.syslog.layout=org.apache.log4j.PatternLayout
|
|
||||||
log4j.appender.syslog.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
|
|
||||||
log4j.appender.syslog.syslogHost=127.0.0.1
|
|
||||||
log4J.appender.syslog.facility=KARAF
|
|
||||||
log4j.appender.syslog.facilityPrinting=false
|
|
@ -1,34 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
#
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
# (the "License"); you may not use this file except in compliance with
|
|
||||||
# the License. You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
#
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
org.ops4j.pax.url.mvn.settings=/var/lib/odl/.m2/settings.xml
|
|
||||||
|
|
||||||
org.ops4j.pax.url.mvn.localRepository=${karaf.home}/${karaf.default.repository}
|
|
||||||
|
|
||||||
org.ops4j.pax.url.mvn.useFallbackRepositories=false
|
|
||||||
|
|
||||||
org.ops4j.pax.url.mvn.defaultLocalRepoAsRemote=false
|
|
||||||
|
|
||||||
org.ops4j.pax.url.mvn.repositories= \
|
|
||||||
file:${karaf.home}/${karaf.default.repository}@id=system.repository, \
|
|
||||||
file:${karaf.data}/kar@id=kar.repository@multi, \
|
|
||||||
http://repo1.maven.org/maven2@id=central, \
|
|
||||||
http://repository.springsource.com/maven/bundles/release@id=spring.ebr.release, \
|
|
||||||
http://repository.springsource.com/maven/bundles/external@id=spring.ebr.external, \
|
|
||||||
http://zodiac.springsource.com/maven/bundles/release@id=gemini
|
|
@ -1,24 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
# (the "License"); you may not use this file except in compliance with
|
|
||||||
# the License. You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
#
|
|
||||||
|
|
||||||
if [ "x$JAVA_MAX_PERM_MEM" = "x" ]; then
|
|
||||||
export JAVA_MAX_PERM_MEM="{{ opendaylight_java_max_perm_mem }}"
|
|
||||||
fi
|
|
||||||
if [ "x$JAVA_MAX_MEM" = "x" ]; then
|
|
||||||
export JAVA_MAX_MEM="{{ opendaylight_java_max_mem }}"
|
|
||||||
fi
|
|
@ -1,3 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
java -jar /opt/opendaylight/bin/aaa-cli-jar.jar --dbd /opt/opendaylight/ --nu admin -p {{ opendaylight_password }}
|
|
||||||
/opt/opendaylight/bin/karaf
|
|
@ -1,46 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='utf-8'?>
|
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<Server>
|
|
||||||
<!--APR library loader. Documentation at /docs/apr.html -->
|
|
||||||
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
|
|
||||||
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
|
|
||||||
<Listener className="org.apache.catalina.core.JasperListener" />
|
|
||||||
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
|
|
||||||
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
|
|
||||||
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
|
|
||||||
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
|
|
||||||
|
|
||||||
<Service name="Catalina">
|
|
||||||
<Connector port="{{ opendaylight_tomcat_port }}" protocol="HTTP/1.1"
|
|
||||||
connectionTimeout="20000"
|
|
||||||
redirectPort="{{ opendaylight_tomcat_redirect_port }}" />
|
|
||||||
|
|
||||||
<Engine name="Catalina" defaultHost="localhost">
|
|
||||||
<Host name="localhost" appBase=""
|
|
||||||
unpackWARs="false" autoDeploy="false"
|
|
||||||
deployOnStartup="false" createDirs="false">
|
|
||||||
<Realm className="org.opendaylight.controller.karafsecurity.ControllerCustomRealm" />
|
|
||||||
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
|
|
||||||
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
|
|
||||||
prefix="web_access_log_" suffix=".txt" resolveHosts="false"
|
|
||||||
rotatable="true" fileDateFormat="yyyy-MM"
|
|
||||||
pattern="%{yyyy-MM-dd HH:mm:ss.SSS z}t - [%a] - %r"/>
|
|
||||||
</Host>
|
|
||||||
</Engine>
|
|
||||||
</Service>
|
|
||||||
</Server>
|
|
@ -1,11 +1,2 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
{% if enable_opendaylight | bool %}
|
|
||||||
/usr/bin/ovs-vsctl --no-wait -- set-manager {% for host in groups['opendaylight'] %}tcp:{{ 'api' | kolla_address(host) | put_address_in_context('url') }}:{{ opendaylight_ovsdb_port }} {% endfor %}
|
|
||||||
|
|
||||||
/usr/bin/ovs-vsctl --no-wait -- set Open_vSwitch . other_config:local_ip={{ 'tunnel' | kolla_address }}
|
|
||||||
/usr/bin/ovs-vsctl --no-wait -- set Open_vSwitch . other_config:provider_mappings=physnet1:{{ neutron_bridge_name }}
|
|
||||||
/usr/bin/ovs-vsctl --no-wait -- set Open_vSwitch . external_ids:system-id=`cat /proc/sys/kernel/random/uuid`
|
|
||||||
/usr/bin/ovs-vsctl --no-wait -- set Open_vSwitch . external_ids:odl_os_hostconfig_config_odl_l2='{"supported_vnic_types": [{"vnic_type": "normal", "vif_type": "ovs", "vif_details": {} }], "allowed_network_types": [{{ opendaylight_allowed_network_types }}], "datapath_types": ["netdev", "system"], "bridge_mappings": {"physnet1":"{{ neutron_bridge_name }}"} }'
|
|
||||||
/usr/bin/ovs-vsctl --no-wait -- set Open_vSwitch . external_ids:odl_os_hostconfig_hostid="{{ hostvars[inventory_hostname]['ansible_hostname'] }}"
|
|
||||||
{% endif %}
|
|
||||||
/usr/sbin/ovs-vswitchd unix:/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info --mlockall --log-file=/var/log/kolla/openvswitch/ovs-vswitchd.log --pidfile
|
/usr/sbin/ovs-vswitchd unix:/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info --mlockall --log-file=/var/log/kolla/openvswitch/ovs-vswitchd.log --pidfile
|
||||||
|
@ -7,7 +7,7 @@ ovsdpdk_services:
|
|||||||
ovsdpdk-db:
|
ovsdpdk-db:
|
||||||
container_name: "ovsdpdk_db"
|
container_name: "ovsdpdk_db"
|
||||||
image: "{{ ovsdpdk_db_image_full }}"
|
image: "{{ ovsdpdk_db_image_full }}"
|
||||||
enabled: "{{ neutron_plugin_agent in ['openvswitch', 'opendaylight'] }}"
|
enabled: "{{ neutron_plugin_agent in ['openvswitch'] }}"
|
||||||
host_in_groups: >-
|
host_in_groups: >-
|
||||||
{{
|
{{
|
||||||
inventory_hostname in groups['compute']
|
inventory_hostname in groups['compute']
|
||||||
@ -21,7 +21,7 @@ ovsdpdk_services:
|
|||||||
ovsdpdk-vswitchd:
|
ovsdpdk-vswitchd:
|
||||||
container_name: "ovsdpdk_vswitchd"
|
container_name: "ovsdpdk_vswitchd"
|
||||||
image: "{{ ovsdpdk_vswitchd_image_full }}"
|
image: "{{ ovsdpdk_vswitchd_image_full }}"
|
||||||
enabled: "{{ neutron_plugin_agent in ['openvswitch', 'opendaylight'] }}"
|
enabled: "{{ neutron_plugin_agent in ['openvswitch'] }}"
|
||||||
privileged: True
|
privileged: True
|
||||||
host_in_groups: >-
|
host_in_groups: >-
|
||||||
{{
|
{{
|
||||||
|
@ -33,7 +33,7 @@ agent:
|
|||||||
flow:
|
flow:
|
||||||
probes:
|
probes:
|
||||||
- gopacket
|
- gopacket
|
||||||
{% if neutron_plugin_agent in ['openvswitch', 'opendaylight'] %}
|
{% if neutron_plugin_agent in ['openvswitch'] %}
|
||||||
- ovssflow
|
- ovssflow
|
||||||
{% endif %}
|
{% endif %}
|
||||||
topology:
|
topology:
|
||||||
@ -41,7 +41,7 @@ agent:
|
|||||||
- netlink
|
- netlink
|
||||||
- netns
|
- netns
|
||||||
- neutron
|
- neutron
|
||||||
{% if neutron_plugin_agent in ['openvswitch', 'opendaylight'] %}
|
{% if neutron_plugin_agent in ['openvswitch'] %}
|
||||||
- ovsdb
|
- ovsdb
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ flow:
|
|||||||
expire: 600
|
expire: 600
|
||||||
update: 60
|
update: 60
|
||||||
|
|
||||||
{% if neutron_plugin_agent in ['openvswitch', 'opendaylight'] %}
|
{% if neutron_plugin_agent in ['openvswitch'] %}
|
||||||
ovs:
|
ovs:
|
||||||
ovsdb: tcp://127.0.0.1:{{ ovsdb_port }}
|
ovsdb: tcp://127.0.0.1:{{ ovsdb_port }}
|
||||||
oflow:
|
oflow:
|
||||||
|
@ -63,7 +63,6 @@
|
|||||||
- enable_neutron_{{ enable_neutron | bool }}
|
- enable_neutron_{{ enable_neutron | bool }}
|
||||||
- enable_nova_{{ enable_nova | bool }}
|
- enable_nova_{{ enable_nova | bool }}
|
||||||
- enable_octavia_{{ enable_octavia | bool }}
|
- enable_octavia_{{ enable_octavia | bool }}
|
||||||
- enable_opendaylight_{{ enable_opendaylight | bool }}
|
|
||||||
- enable_openvswitch_{{ enable_openvswitch | bool }}_enable_ovs_dpdk_{{ enable_ovs_dpdk | bool }}
|
- enable_openvswitch_{{ enable_openvswitch | bool }}_enable_ovs_dpdk_{{ enable_ovs_dpdk | bool }}
|
||||||
- enable_outward_rabbitmq_{{ enable_outward_rabbitmq | bool }}
|
- enable_outward_rabbitmq_{{ enable_outward_rabbitmq | bool }}
|
||||||
- enable_panko_{{ enable_panko | bool }}
|
- enable_panko_{{ enable_panko | bool }}
|
||||||
@ -299,11 +298,6 @@
|
|||||||
tasks_from: loadbalancer
|
tasks_from: loadbalancer
|
||||||
tags: octavia
|
tags: octavia
|
||||||
when: enable_octavia | bool
|
when: enable_octavia | bool
|
||||||
- include_role:
|
|
||||||
role: opendaylight
|
|
||||||
tasks_from: loadbalancer
|
|
||||||
tags: opendaylight
|
|
||||||
when: enable_opendaylight | bool
|
|
||||||
- include_role:
|
- include_role:
|
||||||
role: panko
|
role: panko
|
||||||
tasks_from: loadbalancer
|
tasks_from: loadbalancer
|
||||||
@ -717,17 +711,6 @@
|
|||||||
# own playbook.
|
# own playbook.
|
||||||
- import_playbook: nova.yml
|
- import_playbook: nova.yml
|
||||||
|
|
||||||
- name: Apply role opendaylight
|
|
||||||
gather_facts: false
|
|
||||||
hosts:
|
|
||||||
- opendaylight
|
|
||||||
- '&enable_opendaylight_True'
|
|
||||||
serial: '{{ kolla_serial|default("0") }}'
|
|
||||||
roles:
|
|
||||||
- { role: opendaylight,
|
|
||||||
tags: opendaylight,
|
|
||||||
when: enable_opendaylight | bool }
|
|
||||||
|
|
||||||
- name: Apply role openvswitch
|
- name: Apply role openvswitch
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
hosts:
|
hosts:
|
||||||
|
@ -14,6 +14,5 @@ Networking-SFC, QoS, and so on.
|
|||||||
dpdk
|
dpdk
|
||||||
neutron
|
neutron
|
||||||
neutron-extensions
|
neutron-extensions
|
||||||
opendaylight
|
|
||||||
provider-networks
|
provider-networks
|
||||||
sriov
|
sriov
|
||||||
|
@ -1,57 +0,0 @@
|
|||||||
.. _opendaylight:
|
|
||||||
|
|
||||||
=============================
|
|
||||||
Opendaylight - SDN controller
|
|
||||||
=============================
|
|
||||||
|
|
||||||
Preparation and deployment
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
Modify the ``/etc/kolla/globals.yml`` file as the following example shows:
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
enable_opendaylight: "yes"
|
|
||||||
neutron_plugin_agent: "opendaylight"
|
|
||||||
|
|
||||||
Networking-ODL is an additional Neutron plugin that allows the OpenDaylight
|
|
||||||
SDN Controller to utilize its networking virtualization features.
|
|
||||||
For OpenDaylight to work, the Networking-ODL plugin has to be installed in
|
|
||||||
the ``neutron-server`` container. In this case, one could use the
|
|
||||||
neutron-server-opendaylight container and the opendaylight container by
|
|
||||||
pulling from Kolla dockerhub or by building them locally.
|
|
||||||
|
|
||||||
OpenDaylight ``globals.yml`` configurable options with their defaults include:
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
opendaylight_mechanism_driver: "opendaylight_v2"
|
|
||||||
opendaylight_l3_service_plugin: "odl-router_v2"
|
|
||||||
opendaylight_acl_impl: "learn"
|
|
||||||
enable_opendaylight_qos: "no"
|
|
||||||
enable_opendaylight_l3: "yes"
|
|
||||||
enable_opendaylight_legacy_netvirt_conntrack: "no"
|
|
||||||
opendaylight_port_binding_type: "pseudo-agentdb-binding"
|
|
||||||
opendaylight_features: "odl-mdsal-apidocs,odl-netvirt-openstack"
|
|
||||||
opendaylight_allowed_network_types: '"flat", "vlan", "vxlan"'
|
|
||||||
|
|
||||||
Clustered OpenDaylight Deploy
|
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
High availability clustered OpenDaylight requires modifying the inventory file
|
|
||||||
and placing three or more hosts in the OpenDaylight or Networking groups.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
The OpenDaylight role will allow deploy of one or three plus hosts for
|
|
||||||
OpenDaylight/Networking role.
|
|
||||||
|
|
||||||
Verification
|
|
||||||
------------
|
|
||||||
|
|
||||||
Verify the build and deploy operation of Networking-ODL containers. Successful
|
|
||||||
deployment will bring up an Opendaylight container in the list of running
|
|
||||||
containers on network/opendaylight node.
|
|
||||||
|
|
||||||
For the source code, please refer to the following link:
|
|
||||||
https://github.com/openstack/networking-odl
|
|
@ -119,7 +119,7 @@
|
|||||||
# addresses for that reason.
|
# addresses for that reason.
|
||||||
#neutron_external_interface: "eth1"
|
#neutron_external_interface: "eth1"
|
||||||
|
|
||||||
# Valid options are [ openvswitch, linuxbridge, vmware_nsxv, vmware_nsxv3, vmware_dvs, opendaylight ]
|
# Valid options are [ openvswitch, linuxbridge, vmware_nsxv, vmware_nsxv3, vmware_dvs ]
|
||||||
# if vmware_nsxv3 is selected, enable_openvswitch MUST be set to "no" (default is yes)
|
# if vmware_nsxv3 is selected, enable_openvswitch MUST be set to "no" (default is yes)
|
||||||
#neutron_plugin_agent: "openvswitch"
|
#neutron_plugin_agent: "openvswitch"
|
||||||
|
|
||||||
@ -185,12 +185,6 @@
|
|||||||
# in a multi-region deployment, and then only in the *first* region.
|
# in a multi-region deployment, and then only in the *first* region.
|
||||||
#multiple_regions_names: ["{{ openstack_region_name }}"]
|
#multiple_regions_names: ["{{ openstack_region_name }}"]
|
||||||
|
|
||||||
##############
|
|
||||||
# OpenDaylight
|
|
||||||
##############
|
|
||||||
#enable_opendaylight_qos: "no"
|
|
||||||
#enable_opendaylight_l3: "yes"
|
|
||||||
|
|
||||||
###################
|
###################
|
||||||
# OpenStack options
|
# OpenStack options
|
||||||
###################
|
###################
|
||||||
@ -320,7 +314,6 @@
|
|||||||
#enable_nova_ssh: "yes"
|
#enable_nova_ssh: "yes"
|
||||||
#enable_octavia: "no"
|
#enable_octavia: "no"
|
||||||
#enable_onos: "no"
|
#enable_onos: "no"
|
||||||
#enable_opendaylight: "no"
|
|
||||||
#enable_openvswitch: "{{ enable_neutron | bool and neutron_plugin_agent != 'linuxbridge' }}"
|
#enable_openvswitch: "{{ enable_neutron | bool and neutron_plugin_agent != 'linuxbridge' }}"
|
||||||
#enable_ovs_dpdk: "no"
|
#enable_ovs_dpdk: "no"
|
||||||
#enable_osprofiler: "no"
|
#enable_osprofiler: "no"
|
||||||
|
@ -24,11 +24,6 @@ mariadb_backup_database_password:
|
|||||||
# This should only be set if you require a password for your Docker registry
|
# This should only be set if you require a password for your Docker registry
|
||||||
docker_registry_password:
|
docker_registry_password:
|
||||||
|
|
||||||
######################
|
|
||||||
# OpenDaylight options
|
|
||||||
######################
|
|
||||||
opendaylight_password:
|
|
||||||
|
|
||||||
####################
|
####################
|
||||||
# VMware support
|
# VMware support
|
||||||
####################
|
####################
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
upgrade:
|
||||||
|
- |
|
||||||
|
Support for deployment of OpenDaylight controller and configuration of Neutron related to
|
||||||
|
integration with OpenDaylight have been removed.
|
@ -129,9 +129,6 @@ network
|
|||||||
compute
|
compute
|
||||||
manila-share
|
manila-share
|
||||||
|
|
||||||
[opendaylight:children]
|
|
||||||
network
|
|
||||||
|
|
||||||
[cinder:children]
|
[cinder:children]
|
||||||
control
|
control
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user