+##############################################################################
+# Copyright (c) 2017 Mirantis Inc. and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
{% from "opendaylight/map.jinja" import server with context %}
+{% from "linux/map.jinja" import system with context %}
{%- if server.enabled %}
+opendaylight_repo_key:
+ cmd.run:
+ - name: "apt-key adv --keyserver keyserver.ubuntu.com --recv 44C05248"
+{%- if system.proxy is defined and system.proxy.keyserver is defined %}
+ - env:
+{%- if system.proxy.keyserver.http is defined and grains['dns']['nameservers'][0] in system.proxy.keyserver.http %}
+ - http_proxy: {{ system.proxy.keyserver.http }}
+{%- endif %}
+{%- if system.proxy.keyserver.https is defined and grains['dns']['nameservers'][0] in system.proxy.keyserver.https %}
+ - https_proxy: {{ system.proxy.keyserver.https }}
+{%- endif %}
+{%- endif %}
+
opendaylight_repo:
pkgrepo.managed:
- - ppa: {{ server.repo }}
+ # NOTE(armband): PPA handling behind proxy broken, define it explicitly
+ # https://github.com/saltstack/salt/pull/45224
+ # - ppa: {{ server.repo }}
+ - human_name: opendaylight-ppa
+ - name: deb http://ppa.launchpad.net/odl-team/nitrogen/ubuntu xenial main
+ - file: /etc/apt/sources.list.d/odl-team-ubuntu-nitrogen-xenial.list
opendaylight:
pkg.installed:
- require_in:
- file: /opt/opendaylight/etc/jetty.xml
- file: /opt/opendaylight/bin/setenv
- - file: /opt/opendaylight/etc/org.apache.karaf.features.cfg
+ - ini: /opt/opendaylight/etc/org.apache.karaf.features.cfg
+ - ini: /opt/opendaylight/etc/org.ops4j.pax.web.cfg
service.running:
- enable: true
- watch:
- file: /opt/opendaylight/etc/jetty.xml
- file: /opt/opendaylight/bin/setenv
- - file: /opt/opendaylight/etc/org.apache.karaf.features.cfg
+ - ini: /opt/opendaylight/etc/org.apache.karaf.features.cfg
+ - ini: /opt/opendaylight/etc/org.ops4j.pax.web.cfg
/opt/opendaylight/etc/jetty.xml:
file.managed:
{% endset %}
/opt/opendaylight/etc/org.apache.karaf.features.cfg:
- file.replace:
- - pattern: ^featuresBoot=.*$
- - repl: "featuresBoot={{ features }}"
+ ini.options_present:
+ - sections:
+ featuresBoot: {{ features }}
+
+/opt/opendaylight/etc/org.ops4j.pax.web.cfg:
+ ini.options_present:
+ - sections:
+ org.ops4j.pax.web.listening.addresses: {{ server.odl_bind_ip }}
+
+{%- if server.get('router_enabled', false) %}
+/opt/opendaylight/etc/custom.properties:
+ ini.options_present:
+ - sections:
+ ovsdb.l3.fwd.enabled: 'yes'
+ ovsdb.of.version: 1.3
+ - require:
+ - pkg: opendaylight
+ - watch_in:
+ - service: opendaylight
+{%- endif %}
{%- endif %}