├── packages ├── __init__.py ├── deb │ ├── __init__.py │ ├── templates │ │ ├── __init__.py │ │ ├── compat │ │ ├── opendaylight.install │ │ ├── karaf │ │ ├── opendaylight.upstart │ │ ├── changelog_template │ │ ├── control_template │ │ ├── opendaylight.postrm │ │ ├── opendaylight.postinst │ │ ├── opendaylight.service │ │ ├── rules_template │ │ └── build_debianfiles.py │ ├── .dockerignore │ ├── Dockerfile │ └── lib.py ├── rpm │ ├── __init__.py │ ├── specs │ │ ├── __init__.py │ │ ├── build_specs.py │ │ └── opendaylight.spec │ ├── .dockerignore │ ├── example_repo_configs │ │ ├── opendaylight-5-release.repo │ │ ├── opendaylight-6-release.repo │ │ ├── opendaylight-8-release.repo │ │ ├── opendaylight-100-release.repo │ │ ├── opendaylight-110-release.repo │ │ ├── opendaylight-30-release.repo │ │ ├── opendaylight-40-release.repo │ │ ├── opendaylight-50-release.repo │ │ ├── opendaylight-51-release.repo │ │ ├── opendaylight-52-release.repo │ │ ├── opendaylight-53-release.repo │ │ ├── opendaylight-54-release.repo │ │ ├── opendaylight-60-release.repo │ │ ├── opendaylight-7-release.repo │ │ ├── opendaylight-70-release.repo │ │ ├── opendaylight-80-release.repo │ │ ├── opendaylight-9-release.repo │ │ ├── opendaylight-90-release.repo │ │ ├── opendaylight-101-release.repo │ │ ├── opendaylight-102-release.repo │ │ ├── opendaylight-103-release.repo │ │ ├── opendaylight-111-release.repo │ │ ├── opendaylight-112-release.repo │ │ ├── opendaylight-24-release.repo │ │ ├── opendaylight-31-release.repo │ │ ├── opendaylight-32-release.repo │ │ ├── opendaylight-33-release.repo │ │ ├── opendaylight-34-release.repo │ │ ├── opendaylight-4-release.repo │ │ ├── opendaylight-4-testing.repo │ │ ├── opendaylight-41-release.repo │ │ ├── opendaylight-42-release.repo │ │ ├── opendaylight-43-release.repo │ │ ├── opendaylight-44-release.repo │ │ ├── opendaylight-5-testing.repo │ │ ├── opendaylight-6-testing.repo │ │ ├── opendaylight-61-release.repo │ │ ├── opendaylight-62-release.repo │ │ ├── opendaylight-63-release.repo │ │ ├── opendaylight-64-release.repo │ │ ├── opendaylight-7-testing.repo │ │ ├── opendaylight-71-release.repo │ │ ├── opendaylight-72-release.repo │ │ ├── opendaylight-73-release.repo │ │ ├── opendaylight-8-testing.repo │ │ ├── opendaylight-81-release.repo │ │ ├── opendaylight-82-release.repo │ │ ├── opendaylight-83-release.repo │ │ ├── opendaylight-84-release.repo │ │ ├── opendaylight-9-testing.repo │ │ ├── opendaylight-91-release.repo │ │ ├── opendaylight-92-release.repo │ │ ├── opendaylight-93-release.repo │ │ ├── opendaylight-10-devel.repo │ │ ├── opendaylight-3-candidate.repo │ │ ├── opendaylight-5-devel.repo │ │ ├── opendaylight-6-devel.repo │ │ ├── opendaylight-7-devel.repo │ │ ├── opendaylight-8-devel.repo │ │ ├── opendaylight-9-devel.repo │ │ ├── opendaylight-8-opensuse-devel.repo │ │ ├── opendaylight-7-opensuse-devel.repo │ │ ├── opendaylight-9-opensuse-devel.repo │ │ └── README.markdown │ ├── Dockerfile │ ├── connect.sh │ └── lib.py ├── cache │ └── .gitignore ├── requirements.txt ├── .gitignore ├── unitfiles │ └── opendaylight.service └── Vagrantfile ├── docs ├── requirements.txt ├── favicon.ico ├── _static │ └── logo.png ├── conf.yaml ├── packages.rst ├── configuration-management.rst ├── index.rst ├── conf.py ├── debs.rst ├── ansible-role.rst ├── versioning.rst ├── distribution-job-builds.rst └── autorelease-builds.rst ├── docker ├── openstack │ ├── compute │ │ ├── .gitignore │ │ ├── build │ │ │ ├── .dockerignore │ │ │ ├── restart.sh │ │ │ ├── Dockerfile │ │ │ ├── local.conf │ │ │ └── start.sh │ │ ├── build_compute.sh │ │ └── run_compute.sh │ ├── service │ │ ├── .gitignore │ │ ├── build │ │ │ ├── .dockerignore │ │ │ ├── restart.sh │ │ │ ├── Dockerfile │ │ │ ├── start.sh │ │ │ └── local.conf │ │ ├── build_service.sh │ │ └── run_service.sh │ ├── key-value │ │ ├── stop_key_key_value_server.sh │ │ └── start_key_value_server.sh │ └── systemd │ │ ├── build_systemd.sh │ │ └── Dockerfile ├── centos │ ├── Dockerfile │ └── README.markdown └── debian │ ├── Dockerfile │ └── README.markdown ├── packer ├── provision │ ├── cleanup_fedora.sh │ ├── install_odl.yml │ ├── update_centos.sh │ ├── update_fedora.sh │ ├── cleanup_centos.sh │ ├── config_vagrant.sh │ ├── minimize.sh │ ├── config_docker_fedora.sh │ ├── config_docker_centos.sh │ ├── config_virtualbox_fedora.sh │ ├── config_virtualbox_centos.sh │ ├── config_ansible_centos.sh │ ├── config_ansible_fedora.sh │ ├── centos_kickstart.cfg │ └── fedora_kickstart.cfg ├── .gitignore ├── vars │ ├── opendaylight-3.4.0.json │ ├── opendaylight-4.0.0.json │ ├── opendaylight-4.1.0.json │ ├── opendaylight-4.2.0.json │ ├── opendaylight-4.3.0.json │ ├── opendaylight-4.4.0.json │ ├── opendaylight-5.0.0.json │ ├── opendaylight-5.1.0.json │ ├── opendaylight-5.2.0.json │ ├── opendaylight-5.3.0.json │ ├── opendaylight-5.4.0.json │ ├── opendaylight-6.0.0.json │ ├── opendaylight-6.1.0.json │ ├── opendaylight-6.2.0.json │ ├── opendaylight-6.3.0.json │ ├── opendaylight-6.4.0.json │ ├── opendaylight-7.0.0.json │ ├── opendaylight-7.1.0.json │ ├── opendaylight-7.2.0.json │ ├── opendaylight-7.3.0.json │ ├── opendaylight-8.0.0.json │ ├── opendaylight-8.1.0.json │ ├── opendaylight-8.2.0.json │ ├── centos-7.3.1611.json │ └── fedora-26.json ├── templates │ ├── docker.json │ ├── libvirt.json │ └── virtualbox.json └── Vagrantfile ├── .gitreview ├── tutorials ├── csit │ ├── provisioning │ │ └── all_defaults_playbook.yml │ ├── requirements.yml │ ├── README.markdown │ └── Vagrantfile ├── cluster-nodes │ ├── docker-compose.yml │ ├── Dockerfile │ ├── scripts │ │ ├── config.properties │ │ ├── setup_odl.sh │ │ └── setup_cluster.sh │ ├── Vagrantfile │ └── README.md └── l2switch │ ├── mininet.py │ └── Vagrantfile ├── odl-docker ├── README.md ├── start_docker.sh └── Dockerfile ├── .gitignore ├── helm └── opendaylight │ ├── .helmignore │ ├── templates │ ├── serviceaccount.yaml │ ├── configmap.yaml │ ├── hpa.yaml │ ├── service.yaml │ ├── NOTES.txt │ ├── _helpers.tpl │ ├── ingress.yaml │ └── statefulset.yaml │ ├── Chart.yaml │ ├── resources │ ├── bin │ │ └── startodl.sh │ └── conf │ │ └── akka.conf │ └── values.yaml ├── .yamllint ├── tox.ini ├── INFO.yaml └── .coafile /packages/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/deb/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/rpm/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/rpm/specs/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | lfdocs-conf 2 | -------------------------------------------------------------------------------- /packages/deb/templates/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/deb/templates/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /packages/rpm/.dockerignore: -------------------------------------------------------------------------------- 1 | cache 2 | -------------------------------------------------------------------------------- /packages/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /packages/deb/.dockerignore: -------------------------------------------------------------------------------- 1 | opendaylight 2 | cache 3 | -------------------------------------------------------------------------------- /packages/deb/templates/opendaylight.install: -------------------------------------------------------------------------------- 1 | ./debian/karaf /usr/bin/ 2 | -------------------------------------------------------------------------------- /packages/requirements.txt: -------------------------------------------------------------------------------- 1 | jinja2 2 | bs4 3 | requests 4 | tzlocal 5 | -------------------------------------------------------------------------------- /docker/openstack/compute/.gitignore: -------------------------------------------------------------------------------- 1 | logs 2 | history 3 | *.history 4 | testing 5 | -------------------------------------------------------------------------------- /docker/openstack/compute/build/.dockerignore: -------------------------------------------------------------------------------- 1 | logs 2 | history 3 | *.history 4 | -------------------------------------------------------------------------------- /docker/openstack/service/.gitignore: -------------------------------------------------------------------------------- 1 | logs 2 | history 3 | *.history 4 | testing 5 | -------------------------------------------------------------------------------- /docker/openstack/service/build/.dockerignore: -------------------------------------------------------------------------------- 1 | logs 2 | history 3 | *.history 4 | -------------------------------------------------------------------------------- /packages/deb/templates/karaf: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec /opt/opendaylight/bin/karaf 4 | -------------------------------------------------------------------------------- /packer/provision/cleanup_fedora.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -eux 2 | 3 | sudo dnf -y clean all 4 | -------------------------------------------------------------------------------- /packages/.gitignore: -------------------------------------------------------------------------------- 1 | *.tar.gz 2 | *.deb 3 | *.rpm 4 | *.spec 5 | !specs/opendaylight.spec 6 | -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opendaylight/integration-packaging/HEAD/docs/favicon.ico -------------------------------------------------------------------------------- /docs/_static/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opendaylight/integration-packaging/HEAD/docs/_static/logo.png -------------------------------------------------------------------------------- /packer/provision/install_odl.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | become: yes 4 | roles: 5 | - opendaylight 6 | -------------------------------------------------------------------------------- /.gitreview: -------------------------------------------------------------------------------- 1 | [gerrit] 2 | host=git.opendaylight.org 3 | port=29418 4 | project=integration/packaging.git 5 | defaultbranch=master 6 | -------------------------------------------------------------------------------- /tutorials/csit/provisioning/all_defaults_playbook.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: all 3 | become: yes 4 | roles: 5 | - role: opendaylight 6 | # Accept all default vars 7 | -------------------------------------------------------------------------------- /docs/conf.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | project_cfg: opendaylight 3 | project: ODL Integration/Packaging 4 | version: master 5 | copyright: 2017, Daniel Farrell 6 | author: Daniel Farrell 7 | -------------------------------------------------------------------------------- /packer/.gitignore: -------------------------------------------------------------------------------- 1 | # Vim tmp files 2 | .*sw? 3 | 4 | # Packer output 5 | output-virtualbox-iso/ 6 | packer_cache/ 7 | *.box 8 | build.hwm 9 | build.pwd 10 | build.pwi 11 | -------------------------------------------------------------------------------- /docker/openstack/key-value/stop_key_key_value_server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | _hostname=consul 3 | _container_name=$_hostname 4 | 5 | docker stop $_container_name 6 | 7 | docker ps | grep $_container_name 8 | -------------------------------------------------------------------------------- /packages/deb/templates/opendaylight.upstart: -------------------------------------------------------------------------------- 1 | description "OpenDaylight SDN Controller" 2 | 3 | start on runlevel [2345] 4 | stop on runlevel [!2345] 5 | respawn 6 | respawn limit 5 60 7 | 8 | exec /opt/opendaylight/bin/start 9 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-5-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-5-release] 2 | name=CentOS CBS OpenDaylight Boron repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-5-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-6-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-6-release] 2 | name=CentOS CBS OpenDaylight Carbon repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-6-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-8-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-8-release] 2 | name=CentOS CBS OpenDaylight Oxygen repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-8-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-100-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-100-release] 2 | name=CentOS CBS OpenDaylight Neon repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-100-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-110-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-110-release] 2 | name=CentOS CBS OpenDaylight Neon repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-110-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-30-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-30-release] 2 | name=CentOS CBS OpenDaylight Lithium repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-30-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-40-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-40-release] 2 | name=CentOS CBS OpenDaylight Beryllium repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-40-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-50-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-50-release] 2 | name=CentOS CBS OpenDaylight Boron repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-50-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-51-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-51-release] 2 | name=CentOS CBS OpenDaylight Boron SR1 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-51-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-52-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-52-release] 2 | name=CentOS CBS OpenDaylight Boron SR2 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-52-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-53-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-53-release] 2 | name=CentOS CBS OpenDaylight Boron SR3 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-53-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-54-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-54-release] 2 | name=CentOS CBS OpenDaylight Boron SR4 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-54-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-60-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-60-release] 2 | name=CentOS CBS OpenDaylight Carbon repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-60-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-7-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-7-release] 2 | name=CentOS CBS OpenDaylight Nitrogen repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-7-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-70-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-70-release] 2 | name=CentOS CBS OpenDaylight Nitrogen repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-70-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-80-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-80-release] 2 | name=CentOS CBS OpenDaylight Oxygen repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-80-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-9-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-9-release] 2 | name=CentOS CBS OpenDaylight Fluorine repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-9-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-90-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-90-release] 2 | name=CentOS CBS OpenDaylight Fluorine repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-90-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-3.4.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "3.4.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-34-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-4.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "4.0.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-40-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-4.1.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "4.1.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-41-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-4.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "4.2.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-42-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-4.3.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "4.3.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-43-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-4.4.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "4.4.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-44-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-5.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "5.0.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-50-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-5.1.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "5.1.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-51-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-5.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "5.2.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-52-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-5.3.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "5.3.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-53-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-5.4.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "5.4.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-54-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-6.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "6.0.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-60-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-6.1.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "6.1.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-61-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-6.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "6.2.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-62-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-6.3.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "6.3.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-63-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-6.4.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "6.4.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-64-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-7.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "7.0.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-70-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-7.1.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "7.1.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-71-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-7.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "7.2.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-72-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-7.3.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "7.3.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-73-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-8.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "8.0.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-80-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-8.1.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "8.1.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-81-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packer/vars/opendaylight-8.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "odl_version": "8.2.0", 3 | "rpm_repo_url": "'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-82-release.repo'" 4 | } 5 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-101-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-101-release] 2 | name=CentOS CBS OpenDaylight Neon SR1 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-101-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-102-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-102-release] 2 | name=CentOS CBS OpenDaylight Neon SR2 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-102-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-103-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-103-release] 2 | name=CentOS CBS OpenDaylight Neon SR3 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-103-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-111-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-111-release] 2 | name=CentOS CBS OpenDaylight Sodium SR1 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-111-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-112-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-112-release] 2 | name=CentOS CBS OpenDaylight Sodium SR2 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-112-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-24-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-24-release] 2 | name=CentOS CBS OpenDaylight Helium SR4 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-24-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-31-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-31-release] 2 | name=CentOS CBS OpenDaylight Lithium SR1 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-31-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-32-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-32-release] 2 | name=CentOS CBS OpenDaylight Lithium SR2 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-32-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-33-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-33-release] 2 | name=CentOS CBS OpenDaylight Lithium SR3 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-33-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-34-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-34-release] 2 | name=CentOS CBS OpenDaylight Lithium SR4 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-34-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-4-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-4-release] 2 | name=CentOS CBS OpenDaylight Beryllium release repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-4-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-4-testing.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-4-testing] 2 | name=CentOS CBS OpenDaylight Beryllium testing repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-4-testing/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-41-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-41-release] 2 | name=CentOS CBS OpenDaylight Beryllium SR1 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-41-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-42-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-42-release] 2 | name=CentOS CBS OpenDaylight Beryllium SR2 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-42-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-43-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-43-release] 2 | name=CentOS CBS OpenDaylight Beryllium SR3 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-43-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-44-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-44-release] 2 | name=CentOS CBS OpenDaylight Beryllium SR4 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-44-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-5-testing.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-5-testing] 2 | name=CentOS CBS OpenDaylight Boron testing repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-5-testing/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-6-testing.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-6-testing] 2 | name=CentOS CBS OpenDaylight Carbon testing repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-6-testing/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-61-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-61-release] 2 | name=CentOS CBS OpenDaylight Carbon SR1 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-61-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-62-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-62-release] 2 | name=CentOS CBS OpenDaylight Carbon SR2 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-62-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-63-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-63-release] 2 | name=CentOS CBS OpenDaylight Carbon SR3 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-63-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-64-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-64-release] 2 | name=CentOS CBS OpenDaylight Carbon SR4 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-64-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-7-testing.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-7-testing] 2 | name=CentOS CBS OpenDaylight Nitrogen testing repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-7-testing/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-71-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-71-release] 2 | name=CentOS CBS OpenDaylight Nitrogen SR1 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-71-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-72-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-72-release] 2 | name=CentOS CBS OpenDaylight Nitrogen SR2 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-72-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-73-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-73-release] 2 | name=CentOS CBS OpenDaylight Nitrogen SR3 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-73-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-8-testing.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-8-testing] 2 | name=CentOS CBS OpenDaylight Oxygen testing repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-8-testing/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-81-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-81-release] 2 | name=CentOS CBS OpenDaylight Oxygen SR1 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-81-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-82-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-82-release] 2 | name=CentOS CBS OpenDaylight Oxygen SR2 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-82-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-83-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-83-release] 2 | name=CentOS CBS OpenDaylight Oxygen SR3 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-83-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-84-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-84-release] 2 | name=CentOS CBS OpenDaylight Oxygen SR4 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-84-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-9-testing.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-9-testing] 2 | name=CentOS CBS OpenDaylight Fluorine testing repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-9-testing/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-91-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-91-release] 2 | name=CentOS CBS OpenDaylight Fluorine SR1 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-91-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-92-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-92-release] 2 | name=CentOS CBS OpenDaylight Fluorine SR2 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-92-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-93-release.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-93-release] 2 | name=CentOS CBS OpenDaylight Fluorine SR3 repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-93-release/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packer/provision/update_centos.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Options: 4 | # -x: Echo commands 5 | # -e: Fail on errors 6 | # -o pipefail: Fail on errors in scripts this calls, give stacktrace 7 | set -ex -o pipefail 8 | 9 | sudo yum update -y 10 | -------------------------------------------------------------------------------- /packer/provision/update_fedora.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Options: 4 | # -x: Echo commands 5 | # -e: Fail on errors 6 | # -o pipefail: Fail on errors in scripts this calls, give stacktrace 7 | set -ex -o pipefail 8 | 9 | sudo dnf update -y 10 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-10-devel.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-10-devel] 2 | name=OpenDaylight Neon development repository 3 | baseurl=https://nexus.opendaylight.org/content/repositories/opendaylight-neon-epel-7-$basearch-devel 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-3-candidate.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-3-candidate] 2 | name=CentOS CBS OpenDaylight Lithium candidate repository 3 | baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-3-candidate/$basearch/os/ 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-5-devel.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-5-devel] 2 | name=OpenDaylight Boron development repository 3 | baseurl=https://nexus.opendaylight.org/content/repositories/opendaylight-boron-epel-7-$basearch-devel 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-6-devel.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-6-devel] 2 | name=OpenDaylight Carbon development repository 3 | baseurl=https://nexus.opendaylight.org/content/repositories/opendaylight-carbon-epel-7-$basearch-devel 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-7-devel.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-7-devel] 2 | name=OpenDaylight Nitrogen development repository 3 | baseurl=https://nexus.opendaylight.org/content/repositories/opendaylight-nitrogen-epel-7-$basearch-devel 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-8-devel.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-8-devel] 2 | name=OpenDaylight Oxygen development repository 3 | baseurl=https://nexus.opendaylight.org/content/repositories/opendaylight-oxygen-epel-7-$basearch-devel 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-9-devel.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-9-devel] 2 | name=OpenDaylight Fluorine development repository 3 | baseurl=https://nexus.opendaylight.org/content/repositories/opendaylight-fluorine-epel-7-$basearch-devel 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-8-opensuse-devel.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-8-devel] 2 | name=OpenDaylight Oxygen development repository 3 | baseurl=https://nexus.opendaylight.org/content/repositories/opendaylight-oxygen-opensuse-42-x86_64-devel 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-7-opensuse-devel.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-7-devel] 2 | name=OpenDaylight Nitrogen development repository 3 | baseurl=https://nexus.opendaylight.org/content/repositories/opendaylight-nitrogen-opensuse-42-x86_64-devel 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/opendaylight-9-opensuse-devel.repo: -------------------------------------------------------------------------------- 1 | [opendaylight-9-devel] 2 | name=OpenDaylight Fluorine development repository 3 | baseurl=https://nexus.opendaylight.org/content/repositories/opendaylight-fluorine-opensuse-42-x86_64-devel 4 | enabled=1 5 | gpgcheck=0 6 | -------------------------------------------------------------------------------- /odl-docker/README.md: -------------------------------------------------------------------------------- 1 | # OpenDaylight Docker Build 2 | 3 | 4 | 5 | Launch docker build task for ODL version 14.2.0 6 | 7 | ``` 8 | $ docker build . -f Dockerfile -t opendaylight:14.2.0 --build-arg ODL_VERSION="14.2.0" 9 | ``` 10 | 11 | Run container 12 | ``` 13 | $ docker run -d -p 8181:8181 opendaylight:14.2.0 14 | ``` -------------------------------------------------------------------------------- /packages/deb/templates/changelog_template: -------------------------------------------------------------------------------- 1 | opendaylight ({{ version_major }}.{{ version_minor }}.{{ version_patch }}-{{ pkg_version }}) stable; urgency=medium 2 | 3 | * Release: OpenDaylight {{ version_major }}.{{ version_minor }}.{{ version_patch }}{{ codename }} 4 | 5 | -- {{ changelog_name }} <{{ changelog_email }}> {{ changelog_date }} 6 | 7 | -------------------------------------------------------------------------------- /tutorials/csit/requirements.yml: -------------------------------------------------------------------------------- 1 | # This is used to manage Ansible role dependences 2 | # http://docs.ansible.com/galaxy.html#installing-multiple-roles-from-a-file 3 | # Install with: `ansible-galaxy install -r requirements.yml` 4 | --- 5 | - name: opendaylight 6 | src: https://github.com/dfarrell07/ansible-opendaylight 7 | path: provisioning/roles/ 8 | -------------------------------------------------------------------------------- /packages/deb/templates/control_template: -------------------------------------------------------------------------------- 1 | Source: opendaylight 2 | Build-Depends: debhelper (>= 9), ca-certificates, dh-systemd 3 | Maintainer: {{ changelog_name }} <{{ changelog_email }}> 4 | 5 | Package: opendaylight 6 | Depends: ${misc:Depends}, adduser, openjdk-{{ java_version }}-jre-headless 7 | Architecture: all 8 | Description: OpenDaylight SDN controller 9 | -------------------------------------------------------------------------------- /packer/vars/centos-7.3.1611.json: -------------------------------------------------------------------------------- 1 | { 2 | "os_name": "centos", 3 | "os_version": "7.3.1611", 4 | "guest_os_type": "RedHat_64", 5 | "iso_urls": "http://mirrors.rit.edu/centos/7.3.1611/isos/x86_64/CentOS-7-x86_64-Minimal-1611.iso", 6 | "iso_checksum": "27bd866242ee058b7a5754e83d8ee8403e216b93d130d800852a96f41c34d86a", 7 | "docker_repo": "opendaylight/odl" 8 | } 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Vim 2 | .*.sw? 3 | 4 | # Vagrant 5 | .vagrant 6 | 7 | # Tox 8 | .tox/ 9 | 10 | # Coala 11 | node_modules 12 | 13 | # Python 14 | .idea 15 | *.pyc 16 | *.egg-info/ 17 | 18 | # Robot 19 | log.html 20 | output.xml 21 | report.html 22 | 23 | # Ansible 24 | *.retry 25 | 26 | # Archives 27 | *.tar.gz 28 | *.zip 29 | 30 | # Other 31 | packages/deb/opendaylight/* 32 | -------------------------------------------------------------------------------- /packages/deb/templates/opendaylight.postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | case "$1" in 5 | purge) 6 | rm -rf /opt/opendaylight/ 7 | ;; 8 | remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) 9 | ;; 10 | *) 11 | echo "postrm called with unknown argument \`\$1'" >&2 12 | exit 1 13 | ;; 14 | esac 15 | 16 | #DEBHELPER# 17 | 18 | exit 0 19 | -------------------------------------------------------------------------------- /packages/rpm/example_repo_configs/README.markdown: -------------------------------------------------------------------------------- 1 | ### Example Repository Configurations 2 | 3 | The repository configuration files in this directory provide examples 4 | of the configurations required for installing OpenDaylight. 5 | 6 | We would like to sign our RPMs and enable GPG checks via the `gpgcheck` repo 7 | config variable. If you'd like to contribute this, see INTPAK-71. 8 | -------------------------------------------------------------------------------- /packages/deb/templates/opendaylight.postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | case "$1" in 6 | configure) 7 | adduser --system --disabled-password --disabled-login --home /opt/opendaylight \ 8 | --no-create-home --quiet --force-badname --group odl 9 | chown -R odl:odl /opt/opendaylight/ 10 | ;; 11 | esac 12 | 13 | #DEBHELPER# 14 | 15 | exit 0 16 | -------------------------------------------------------------------------------- /packer/vars/fedora-26.json: -------------------------------------------------------------------------------- 1 | { 2 | "os_name": "fedora", 3 | "os_version": "26", 4 | "guest_os_type": "Fedora_64", 5 | "iso_urls": "http://mirror.math.princeton.edu/pub/fedora/linux/releases/26/Server/x86_64/iso/Fedora-Server-dvd-x86_64-26-1.5.iso", 6 | "iso_checksum": "fad18a43b9cec152fc8a1fd368950eaf59be66b1a15438149a0c3a509c56cf2f", 7 | "docker_repo": "opendaylight/fedora" 8 | } 9 | -------------------------------------------------------------------------------- /packages/deb/templates/opendaylight.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=OpenDaylight SDN Controller 3 | Documentation=https://wiki.opendaylight.org/view/Main_Page 4 | Documentation=http://docs.opendaylight.org/ 5 | After=network.service 6 | 7 | [Service] 8 | Type=forking 9 | ExecStart=/opt/opendaylight/bin/start 10 | User=odl 11 | Group=odl 12 | SuccessExitStatus=143 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | -------------------------------------------------------------------------------- /packer/provision/cleanup_centos.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -eux 2 | 3 | sudo yum -y remove gcc cpp kernel-devel kernel-headers perl 4 | sudo yum -y clean all 5 | 6 | sudo rm -f /etc/udev/rules.d/70-persistent-net.rules 7 | if [ -r /etc/sysconfig/network-scripts/ifcfg-eth0 ]; then 8 | sudo sed -i 's/^HWADDR.*$//' /etc/sysconfig/network-scripts/ifcfg-eth0 9 | sudo sed -i 's/^UUID.*$//' /etc/sysconfig/network-scripts/ifcfg-eth0 10 | fi 11 | -------------------------------------------------------------------------------- /packages/unitfiles/opendaylight.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=OpenDaylight SDN Controller 3 | Documentation=https://wiki.opendaylight.org/view/Main_Page http://www.opendaylight.org/ 4 | After=network.service 5 | 6 | [Service] 7 | Type=forking 8 | ExecStart=/opt/opendaylight/bin/start 9 | User=odl 10 | Group=odl 11 | SuccessExitStatus=143 12 | LimitNOFILE=102400 13 | Restart=on-failure 14 | 15 | [Install] 16 | WantedBy=multi-user.target 17 | -------------------------------------------------------------------------------- /helm/opendaylight/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | components/ 23 | -------------------------------------------------------------------------------- /docker/openstack/key-value/start_key_value_server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | _hostname=consul 3 | _container_name=$_hostname 4 | _image=progrium/consul 5 | 6 | docker run -d -p 8500:8500 -h $_hostname --name $_container_name \ 7 | $_image -server -bootstrap 8 | 9 | _consul_IP=$( docker inspect -f '{{.NetworkSettings.IPAddress}}' consul) 10 | export _consul_IP 11 | 12 | echo "Consul key-value server is now running at $_consul_IP:8500" 13 | docker ps | grep $_container_name 14 | -------------------------------------------------------------------------------- /packer/provision/config_vagrant.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Called by Packer to config a CentOS 7 machine for use as a Vagrant base box 3 | 4 | # Echo commands as they are run 5 | set -x 6 | 7 | # Install SSH key used by Vagrant for all interactions that connect to the box 8 | install -v -o vagrant -g vagrant -m 0700 -d /home/vagrant/.ssh 9 | curl -o /home/vagrant/.ssh/authorized_keys -kL "https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub" 10 | chmod 600 /home/vagrant/.ssh/authorized_keys 11 | chown -R vagrant:vagrant /home/vagrant/.ssh 12 | -------------------------------------------------------------------------------- /docker/openstack/compute/build/restart.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # file: restart.sh 3 | # Restart/restack in a container that has already run DEVstack and start.sh 4 | # restart.sh can safely be used instead of start.sh 5 | 6 | # unstack first 7 | echo "[$(date)] S3P::${0}:: unstacking..." 8 | /home/stack/devstack/unstack.sh 9 | rm -rf /home/stack/stacking.status 10 | 11 | if [[ "$1" == "clean" ]] ; then 12 | /home/stack/devstack/clean.sh 13 | rm -rf /opt/stack/* 14 | fi 15 | 16 | # restart 17 | echo "[$(date)] ${0} :: stacking..." 18 | /home/stack/start.sh 19 | -------------------------------------------------------------------------------- /docker/openstack/service/build/restart.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # file: restart.sh 3 | # Restart/restack in a container that has already run DEVstack and start.sh 4 | # restart.sh can safely be used instead of start.sh 5 | 6 | # unstack first 7 | echo "[$(date)] S3P::${0}:: unstacking..." 8 | /home/stack/devstack/unstack.sh 9 | rm -rf /home/stack/stacking.status 10 | 11 | if [[ "$1" == "clean" ]] ; then 12 | /home/stack/devstack/clean.sh 13 | rm -rf /opt/stack/* 14 | fi 15 | 16 | # restart 17 | echo "[$(date)] ${0} :: stacking..." 18 | /home/stack/start.sh 19 | 20 | -------------------------------------------------------------------------------- /tutorials/csit/README.markdown: -------------------------------------------------------------------------------- 1 | # CSIT Tutorial 2 | 3 | TODO: More docs 4 | 5 | ## Dependencies: Ansible 6 | 7 | The recommended way to install OpenDaylight's Ansible role, for use by 8 | Vagrant's Ansible provisioner, is via the `ansible-galaxy` tool. It 9 | ships with Ansible, so you may already have it installed. 10 | 11 | ``` 12 | $ sudo yum install -y ansible 13 | ``` 14 | 15 | After you install the `ansible-galaxy` tool, point it at the project's 16 | `requirements.yml` file to install ODL's role. 17 | 18 | ``` 19 | $ ansible-galaxy install -r requirements.yml -p ./provisioning/roles/ 20 | ``` 21 | -------------------------------------------------------------------------------- /packer/provision/minimize.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Options: 4 | # -x: Echo commands 5 | # -e: Fail on errors 6 | set -ex 7 | 8 | # This doesn't seem to reduce the size of the box, and may break 9 | # Docker builds. See comments on git.opendaylight.org/gerrit/#/c/50382. 10 | 11 | # Write 0s in free space until full (full->exit 1, force 0) 12 | #sudo dd if=/dev/zero of=/EMPTY bs=1M || true 13 | 14 | # Remove pointer to all the 0-space 15 | #sudo rm -f /EMPTY 16 | 17 | # Block until the empty file has been removed, otherwise, Packer 18 | # will try to kill the box while the disk is still full and that's bad 19 | #sudo sync 20 | -------------------------------------------------------------------------------- /docs/packages.rst: -------------------------------------------------------------------------------- 1 | Packages 2 | ======== 3 | 4 | Builds can be packaged as RPMs or .debs. To provide inputs into OpenDaylight's 5 | Continious Delivery pipelines to downstream projects, many builds are 6 | automatically packaged. Every succesful autorelease build is packaged as an 7 | RPM. Every day, the latest distribution snapshot build is packaged as an RPM. 8 | This keeps new artifacts flowing even if some projects are breaking 9 | autorelease. Custom packages can be built from custom distributions, for 10 | example with yet-to-be merged patches that need system testing. 11 | 12 | .. noqa 13 | .. toctree:: 14 | :maxdepth: 4 15 | 16 | rpms 17 | debs 18 | -------------------------------------------------------------------------------- /docs/configuration-management.rst: -------------------------------------------------------------------------------- 1 | Configuration Management 2 | ======================== 3 | 4 | The Configuration Management Layer of the packaging and delivery stack 5 | provided by upstream OpenDaylight installs OpenDaylight via the Packaging 6 | Layer and then does any additional configuration required by the particular 7 | deployment's requirements. Examples include setting Karaf features to install 8 | at boot, remapping OpenDaylight ports, opening OpenDaylight ports in firewalld 9 | and managing OpenDaylight's systemd service. As additional knobs are required 10 | to configure deployments, upstream support should be added here. 11 | 12 | .. noqa 13 | .. toctree:: 14 | :maxdepth: 4 15 | 16 | ansible-role 17 | -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- 1 | .. Integration/Packaging documentation master file, created by 2 | sphinx-quickstart on Thu May 19 21:58:50 2016. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Integration/Packaging Guide 7 | =========================== 8 | 9 | This guide provides details on how Packaging and Deployment of OpenDaylight is 10 | supported. Including packaging (RPMs), configuration management tools (Ansible, 11 | Puppet) and pre-built images (containers, Vagrant base boxes). 12 | 13 | Contents: 14 | 15 | .. toctree:: 16 | :glob: 17 | :maxdepth: 5 18 | :caption: Table of Contents 19 | :name: mastertoc 20 | 21 | ** 22 | -------------------------------------------------------------------------------- /packer/provision/config_docker_fedora.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Called by packer to do any Docker-specific config 3 | 4 | # Echo commands as they are run 5 | set -x 6 | 7 | # Install minimal set of packages 8 | # Need to do this as root but don't have sudo installed (Docker), so `su -c` 9 | # The `sudo` program is needed by Ansible (so can't change it to use `su -c`) 10 | # TODO: Is all of @Base strictly necessary? 11 | su -c "dnf install -y sudo" 12 | 13 | # Docker uses Ansible to configure ODL, and Ansible uses `sudo` so Docker's 14 | # build will fail at Ansible without this config change (even if we removed it 15 | # from subsequent Docker shell provisioning scripts). 16 | su -c 'sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers' 17 | -------------------------------------------------------------------------------- /packer/provision/config_docker_centos.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Called by packer to do any Docker-specific config 3 | 4 | # Echo commands as they are run 5 | set -x 6 | 7 | # Install minimal set of packages 8 | # Need to do this as root but don't have sudo installed (Docker), so `su -c` 9 | # The `sudo` program is needed by Ansible (so can't change it to use `su -c`) 10 | # TODO: Is all of @Base strictly necessary? 11 | su -c "yum install -y @Base sudo" 12 | 13 | # Docker uses Ansible to configure ODL, and Ansible uses `sudo` so Docker's 14 | # build will fail at Ansible without this config change (even if we removed it 15 | # from subsequent Docker shell provisioning scripts). 16 | su -c 'sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers' 17 | -------------------------------------------------------------------------------- /odl-docker/start_docker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | # SPDX-License-Identifier: EPL-1.0 3 | ############################################################################## 4 | # Copyright (c) 2021 The Linux Foundation and others. 5 | # 6 | # All rights reserved. This program and the accompanying materials 7 | # are made available under the terms of the Eclipse Public License v1.0 8 | # which accompanies this distribution, and is available at 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | ############################################################################## 11 | 12 | set -x 13 | 14 | BASEDIR=$(dirname "$0") 15 | 16 | sed -i "s/\(featuresBoot= \|featuresBoot = \)/featuresBoot = ${FEATURES},/g" ${BASEDIR}/etc/org.apache.karaf.features.cfg 17 | cat ${BASEDIR}/etc/org.apache.karaf.features.cfg 18 | ${BASEDIR}/bin/karaf run 19 | -------------------------------------------------------------------------------- /docker/centos/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM centos:7 2 | 3 | # Schema: https://github.com/projectatomic/ContainerApplicationGenericLabels 4 | LABEL name="Int/Pack CentOS Dockerfile" \ 5 | version="7.1" \ 6 | vendor="OpenDaylight" \ 7 | summary="OpenDaylight Integration/Packaging example CentOS Dockerfile" \ 8 | vcs-url="https://git.opendaylight.org/gerrit/p/integration/packaging.git" 9 | 10 | # Install OpenDaylight 11 | RUN yum install -y http://cbs.centos.org/repos/nfv7-opendaylight-71-release/x86_64/os/Packages/opendaylight-7.1.0-1.el7.noarch.rpm && yum clean all 12 | 13 | # Ports 14 | # 8101 - Karaf SSH 15 | # Installing additional ODL features may require opening additional ports. 16 | # https://wiki.opendaylight.org/view/Ports 17 | EXPOSE 8101 18 | 19 | # Start OpenDaylight 20 | CMD ["/opt/opendaylight/bin/karaf"] 21 | -------------------------------------------------------------------------------- /docker/debian/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:7 2 | 3 | # Schema: https://github.com/projectatomic/ContainerApplicationGenericLabels 4 | LABEL name="Int/Pack Debian Dockerfile" \ 5 | version="5.2" \ 6 | vendor="OpenDaylight" \ 7 | summary="OpenDaylight Integration/Packaging example Debian Dockerfile" \ 8 | vcs-url="https://git.opendaylight.org/gerrit/p/integration/packaging.git" 9 | 10 | # Install OpenDaylight 11 | RUN apt-get install -y http://download.opensuse.org/repositories/home:/akshitajha/xUbuntu_16.04/all/opendaylight_5.0.0-1_all.deb && apt-get clean 12 | 13 | # Ports 14 | # 8101 - Karaf SSH 15 | # Installing additional ODL features may require opening additional ports. 16 | # https://wiki.opendaylight.org/view/Ports 17 | EXPOSE 8101 18 | 19 | # Start OpenDaylight 20 | CMD ["/opt/opendaylight/bin/karaf"] 21 | -------------------------------------------------------------------------------- /packages/deb/Dockerfile: -------------------------------------------------------------------------------- 1 | # Dockerfile 2 | FROM debian:jessie-backports 3 | 4 | # Schema: https://github.com/projectatomic/ContainerApplicationGenericLabels 5 | LABEL name="Int/Pack deb-building container" \ 6 | version="0.1" \ 7 | vendor="OpenDaylight" \ 8 | summary="ODL Integration/Packaging container for building .debs" \ 9 | vcs-url="https://git.opendaylight.org/gerrit/p/integration/packaging.git" 10 | 11 | ENV DEBIAN_FRONTEND noninteractive 12 | 13 | # Install system-level requirements 14 | RUN apt-get update && \ 15 | apt-get install -y \ 16 | build-essential \ 17 | sudo \ 18 | devscripts \ 19 | equivs \ 20 | dh-systemd \ 21 | python-yaml \ 22 | python-jinja2 && \ 23 | apt-get clean 24 | 25 | # ODL Karaf SSH port 26 | EXPOSE 8101 27 | 28 | RUN mkdir -p /build 29 | ENTRYPOINT ["/build/build.py"] 30 | CMD ["-h"] 31 | -------------------------------------------------------------------------------- /packages/deb/templates/rules_template: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | VERSION_MAJOR = {{ version_major }} 4 | VERSION_MINOR = {{ version_minor }} 5 | VERSION_PATCH = {{ version_patch }} 6 | PKG_VERSION = {{ pkg_version }} 7 | CODENAME = "{{ codename }}" 8 | VERSION = 0.$(VERSION_MAJOR).$(VERSION_MINOR)$(CODENAME) 9 | PACKAGEVERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)-$(PKG_VERSION) 10 | TARBALL = {{ tarball_name }} 11 | DISTRIBUTION_PREFIX = {{ distro_name_prefix }} 12 | 13 | %: 14 | dh $@ --with systemd 15 | 16 | override_dh_auto_clean: 17 | override_dh_auto_test: 18 | override_dh_auto_build: 19 | override_dh_usrlocal: 20 | override_dh_auto_install: 21 | tar -xf $(TARBALL) 22 | mkdir -p ./debian/opendaylight/opt/opendaylight/ 23 | cp -r ./$(DISTRIBUTION_PREFIX)-$(VERSION)/* ./debian/opendaylight/opt/opendaylight/ 24 | 25 | override_dh_gencontrol: 26 | dh_gencontrol -- -v$(PACKAGEVERSION) 27 | -------------------------------------------------------------------------------- /docker/centos/README.markdown: -------------------------------------------------------------------------------- 1 | # Example OpenDaylight CentOS Dockerfile 2 | 3 | Example Dockerfile of OpenDaylight installed from an RPM on CentOS. 4 | 5 | ## Using 6 | 7 | ``` 8 | docker build -t . 9 | docker run 10 | # Karaf shell 11 | ``` 12 | 13 | Replace the tag name with one of your own choosing. 14 | 15 | ## Other OpenDaylight Containers 16 | 17 | The OpenDaylight Integration/Packaging project maintains a Packer build 18 | pipeline to build offical containers and VMs. The source can be found in 19 | [Int/Pack's repo][1], the VMs packaged as [Vagrant boxes on Atlas][2], and 20 | the [containers on DockerHub][3]. 21 | 22 | [1]: https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=tree;f=packer;hb=refs/heads/master "ODL Int/Pack repo" 23 | 24 | [2]: https://atlas.hashicorp.com/opendaylight/boxes/odl "ODL Vagrant-based VMs" 25 | 26 | [3]: https://hub.docker.com/r/opendaylight/odl/ "ODL containers" 27 | -------------------------------------------------------------------------------- /helm/opendaylight/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{/* 2 | # SPDX-License-Identifier: EPL-1.0 3 | ############################################################################## 4 | # Copyright (c) 2021 The Linux Foundation and others. 5 | # 6 | # All rights reserved. This program and the accompanying materials 7 | # are made available under the terms of the Eclipse Public License v1.0 8 | # which accompanies this distribution, and is available at 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | ############################################################################## 11 | */}} 12 | {{- if .Values.serviceAccount.create -}} 13 | apiVersion: v1 14 | kind: ServiceAccount 15 | metadata: 16 | name: {{ include "opendaylight.serviceAccountName" . }} 17 | labels: 18 | {{- include "opendaylight.labels" . | nindent 4 }} 19 | {{- with .Values.serviceAccount.annotations }} 20 | annotations: 21 | {{- toYaml . | nindent 4 }} 22 | {{- end }} 23 | {{- end }} 24 | -------------------------------------------------------------------------------- /tutorials/cluster-nodes/docker-compose.yml: -------------------------------------------------------------------------------- 1 | ############################################################################## 2 | # Copyright (c) 2017 Alexis de Talhouët. All rights reserved. 3 | # 4 | # This program and the accompanying materials are made available under the 5 | # terms of the Eclipse Public License v1.0 which accompanies this distribution, 6 | # and is available at http://www.eclipse.org/legal/epl-v10.html 7 | ############################################################################## 8 | --- 9 | 10 | version: '2' 11 | 12 | services: 13 | odl-node: 14 | build: . 15 | image: odl-node 16 | container_name: odl-${NODE_NUMBER} 17 | hostname: odl-${NODE_NUMBER} 18 | privileged: true 19 | stdin_open: true 20 | tty: true 21 | networks: 22 | default: 23 | ipv4_address: 192.168.50.15${NODE_NUMBER} 24 | command: nohup /root/scripts/setup_odl.sh 25 | 26 | networks: 27 | default: 28 | external: 29 | name: odl-cluster-network 30 | -------------------------------------------------------------------------------- /docker/debian/README.markdown: -------------------------------------------------------------------------------- 1 | # Example OpenDaylight Debian Dockerfile 2 | 3 | Example Dockerfile of OpenDaylight installed from an RPM on Debian. 4 | 5 | ## Using 6 | 7 | ``` 8 | docker build -t . 9 | docker run 10 | # Karaf shell 11 | ``` 12 | 13 | Replace the tag name with one of your own choosing. 14 | 15 | ## Other OpenDaylight Containers 16 | 17 | The OpenDaylight Integration/Packaging project maintains a Packer build 18 | pipeline to build offical containers and VMs. The source can be found in 19 | [Int/Pack's repo][1], the VMs packaged as [Vagrant boxes on Atlas][2], and 20 | the [containers on DockerHub][3]. 21 | 22 | Packer builds currently only support CentOS and Fedora. 23 | 24 | [1]: https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=tree;f=packer;hb=refs/heads/master "ODL Int/Pack repo" 25 | 26 | [2]: https://atlas.hashicorp.com/opendaylight/boxes/odl "ODL Vagrant-based VMs" 27 | 28 | [3]: https://hub.docker.com/r/opendaylight/odl/ "ODL containers" 29 | -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | # SPDX-License-Identifier: EPL-1.0 4 | ############################################################################## 5 | # Copyright (c) 2018 The Linux Foundation and others. 6 | # 7 | # All rights reserved. This program and the accompanying materials 8 | # are made available under the terms of the Eclipse Public License v1.0 9 | # which accompanies this distribution, and is available at 10 | # http://www.eclipse.org/legal/epl-v10.html 11 | ############################################################################## 12 | 13 | from docs_conf.conf import * 14 | 15 | # Append to intersphinx_mapping 16 | #intersphinx_mapping['odl-releng-builder'] = ('http://docs.opendaylight.org/projects/releng-builder/en/latest/', None) 17 | 18 | linkcheck_ignore = [ 19 | # Ignore jenkins because it's often slow to respond. 20 | 'https://jenkins.opendaylight.org/releng', 21 | 'https://jenkins.opendaylight.org/sandbox', 22 | ] 23 | 24 | nitpicky = True 25 | -------------------------------------------------------------------------------- /packages/rpm/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM centos:7 2 | 3 | # Schema: https://github.com/projectatomic/ContainerApplicationGenericLabels 4 | LABEL name="Int/Pack deb-building container" \ 5 | version="0.1" \ 6 | vendor="OpenDaylight" \ 7 | summary="ODL Integration/Packaging container for building .debs" \ 8 | vcs-url="https://git.opendaylight.org/gerrit/p/integration/packaging.git" 9 | 10 | # Install system-level requirements 11 | RUN yum install -y epel-release && yum clean all 12 | RUN yum install -y fedora-packager \ 13 | python-pip \ 14 | && yum clean all 15 | 16 | # Create user to do the build, add them to mock group 17 | RUN useradd builder 18 | RUN usermod -a -G mock builder 19 | USER builder 20 | 21 | # Install requirements managed by pip 22 | COPY requirements.txt /tmp/requirements.txt 23 | RUN pip install --upgrade pip && pip install -r /tmp/requirements.txt 24 | 25 | # ODL Karaf SSH port 26 | EXPOSE 8101 27 | 28 | RUN mkdir -p /build 29 | ENTRYPOINT ["/build/build.py"] 30 | CMD ["-h"] 31 | -------------------------------------------------------------------------------- /packer/provision/config_virtualbox_fedora.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Called by packer to install VirtualBox Guess Additions, which 3 | # required by Vagrant for things like mounting shared dirs. 4 | 5 | # Echo commands as they are run 6 | set -x 7 | 8 | # Install utilities required by VB Guest Additions install 9 | # TODO: Is all of @Base and @Core strictly required? 10 | sudo dnf install -y @Core bzip2 gcc kernel-devel 11 | 12 | # Install VirtualBox Guest Additions (downloaded by Packer) 13 | sudo mount -o loop /home/vagrant/VBoxGuestAdditions.iso /mnt 14 | sudo /mnt/VBoxLinuxAdditions.run 15 | 16 | # Clean up VirtualBox Guest Additions install media to save space 17 | sudo umount /mnt 18 | rm -rf /home/vagrant/VBoxGuestAdditions.iso 19 | sudo rm -rf /usr/src/vboxguest* 20 | 21 | # Clean up utilities required by VB Guest Additions install to save space 22 | # Don't remove bzip2, it's only 87k. Removing gcc saves 37M, kernel-devel 32M. 23 | sudo dnf remove -y gcc kernel-devel 24 | sudo dnf clean all -y 25 | sudo rm -rf /tmp/* 26 | -------------------------------------------------------------------------------- /helm/opendaylight/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{/* 2 | # SPDX-License-Identifier: EPL-1.0 3 | ############################################################################## 4 | # Copyright (c) 2021 The Linux Foundation and others. 5 | # 6 | # All rights reserved. This program and the accompanying materials 7 | # are made available under the terms of the Eclipse Public License v1.0 8 | # which accompanies this distribution, and is available at 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | ############################################################################## 11 | */}} 12 | 13 | apiVersion: v1 14 | kind: ConfigMap 15 | metadata: 16 | name: {{ include "opendaylight.fullname" . }}-scripts 17 | data: 18 | {{ tpl (.Files.Glob "resources/bin/*").AsConfig . | indent 2 }} 19 | --- 20 | {{- if .Values.config.isClusterDeployment }} 21 | apiVersion: v1 22 | kind: ConfigMap 23 | metadata: 24 | name: {{ include "opendaylight.fullname" . }}-conf 25 | data: 26 | {{ tpl (.Files.Glob "resources/conf/*").AsConfig . | indent 2 }} 27 | {{- end }} -------------------------------------------------------------------------------- /packer/provision/config_virtualbox_centos.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Called by packer to install VirtualBox Guess Additions, which 3 | # required by Vagrant for things like mounting shared dirs. 4 | 5 | # Echo commands as they are run 6 | set -x 7 | 8 | # Install utilities required by VB Guest Additions install 9 | # TODO: Is all of @Base and @Core strictly required? 10 | sudo yum install -y @Base @Core bzip2 gcc kernel-devel 11 | 12 | # Install VirtualBox Guest Additions (downloaded by Packer) 13 | sudo mount -o loop /home/vagrant/VBoxGuestAdditions.iso /mnt 14 | sudo /mnt/VBoxLinuxAdditions.run 15 | 16 | # Clean up VirtualBox Guest Additions install media to save space 17 | sudo umount /mnt 18 | rm -rf /home/vagrant/VBoxGuestAdditions.iso 19 | sudo rm -rf /usr/src/vboxguest* 20 | 21 | # Clean up utilities required by VB Guest Additions install to save space 22 | # Don't remove bzip2, it's only 87k. Removing gcc saves 37M, kernel-devel 32M. 23 | sudo yum remove -y gcc kernel-devel 24 | sudo yum clean all -y 25 | sudo rm -rf /tmp/* 26 | -------------------------------------------------------------------------------- /docs/debs.rst: -------------------------------------------------------------------------------- 1 | Debs 2 | ==== 3 | 4 | The `build.py`_ helper script is used for building OpenDaylight .debs. It can 5 | build a set of .debs based on provided version arguments. The dynamic aspects 6 | of builds, such as ODL and deb version info, have all been extracted to single 7 | YAML configuration file. 8 | 9 | The variables available for configuration and instructions on how to install 10 | are documented `here`_. 11 | 12 | 13 | Build Deb Job 14 | -------------- 15 | 16 | The Jenkins `build_deb job`_ builds the .deb package described by the `given 17 | build description`_, using build.py inside the deb directory. 18 | 19 | 20 | .. _build.py: https://github.com/opendaylight/integration-packaging/blob/master/packages/build.py 21 | .. _here: https://github.com/opendaylight/integration-packaging/blob/master/packages/deb/README.markdown 22 | .. _build_deb job: https://jenkins.opendaylight.org/releng/job/packaging-build-deb-master/ 23 | .. _given build description: https://jenkins.opendaylight.org/releng/job/packaging-build-deb-master/ 24 | -------------------------------------------------------------------------------- /docker/openstack/systemd/build_systemd.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # file: build_systemd.sh 3 | # info: builds a docker image with systemd as base for other containers 4 | IMAGE_REGISTRY=${IMAGE_REGISTRY:-odl-registry:4000} 5 | IMAGE_REPO=${IMAGE_REPO:-s3p/systemd} 6 | IMAGE_TAG=${IMAGE_TAG:-v0.1} 7 | IMAGE_NAME="${IMAGE_REGISTRY}/${IMAGE_REPO}:${IMAGE_TAG}" 8 | DOCKERFILE=${DOCKERFILE:-Dockerfile} 9 | 10 | echo "Building $IMAGE_NAME from Dockerfile=$DOCKERFILE at $(date) ... " 11 | # shellcheck disable=SC2154 12 | docker build -t ${IMAGE_NAME} -f ${DOCKERFILE} --build-arg http_proxy=$http_proxy --build-arg https_proxy=$https_proxy . 13 | 14 | if [ $? = 0 ] ; then 15 | docker images $IMAGE_NAME 16 | echo "Docker image $IMAGE_NAME built successfully." 17 | echo "To quickly test it, you can launch it with:" 18 | # shellcheck disable=SC2154 19 | echo "docker run -it --rm --env http_proxy=$http_proxy --env https_proxy=$https_proxy --env no_proxy=$no_proxy $IMAGE_NAME bash" 20 | else 21 | echo "An error occurred during the build of $IMAGE_NAME" 22 | exit 1 23 | fi 24 | 25 | -------------------------------------------------------------------------------- /.yamllint: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | braces: 4 | min-spaces-inside: 0 5 | max-spaces-inside: 0 6 | brackets: 7 | min-spaces-inside: 0 8 | max-spaces-inside: 0 9 | colons: 10 | max-spaces-before: 0 11 | max-spaces-after: 1 12 | commas: 13 | max-spaces-before: 0 14 | min-spaces-after: 1 15 | max-spaces-after: 1 16 | comments: 17 | level: warning 18 | require-starting-space: true 19 | min-spaces-from-content: 2 20 | comments-indentation: 21 | level: warning 22 | document-end: disable 23 | document-start: 24 | level: warning 25 | present: true 26 | empty-lines: 27 | max: 2 28 | max-start: 0 29 | max-end: 0 30 | hyphens: 31 | max-spaces-after: 1 32 | indentation: 33 | spaces: consistent 34 | indent-sequences: true 35 | check-multi-line-strings: false 36 | key-duplicates: enable 37 | line-length: 38 | max: 80 39 | allow-non-breakable-words: true 40 | allow-non-breakable-inline-mappings: true 41 | new-line-at-end-of-file: enable 42 | new-lines: 43 | type: unix 44 | trailing-spaces: enable 45 | truthy: disable 46 | -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- 1 | [tox] 2 | minversion = 1.6.0 3 | envlist = docs,coala,pkg_unittests 4 | skipsdist = true 5 | 6 | [testenv:coala] 7 | basepython = python3 8 | deps = 9 | coala==0.11 10 | coala-bears==0.11 11 | pygments~=2.3.1 12 | # Requests 2.16 breaks dependencies 13 | requests<2.16 14 | nodeenv==1.1.2 15 | commands = 16 | nodeenv -p 17 | npm install --global dockerfile_lint remark-cli remark-lint write-good 18 | python3 -m nltk.downloader punkt maxent_treebank_pos_tagger averaged_perceptron_tagger 19 | coala --non-interactive 20 | 21 | [testenv:docs] 22 | deps = -rdocs/requirements.txt 23 | commands = 24 | sphinx-build -W -b html -n -d {envtmpdir}/doctrees ./docs/ {envtmpdir}/html 25 | echo "Generated docs available in {envtmpdir}/html" 26 | whitelist_externals = echo 27 | 28 | [testenv:docs-linkcheck] 29 | deps = -rdocs/requirements.txt 30 | commands = sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees ./docs/ {envtmpdir}/linkcheck 31 | 32 | [testenv:pkg_unittests] 33 | # TODO: Support Python 3 34 | #basepython = python3 35 | deps = 36 | -r{toxinidir}/packages/requirements.txt 37 | commands = python -m unittest packages.test_lib 38 | -------------------------------------------------------------------------------- /tutorials/cluster-nodes/Dockerfile: -------------------------------------------------------------------------------- 1 | ############################################################################## 2 | # Copyright (c) 2017 Alexis de Talhouët. All rights reserved. 3 | # 4 | # This program and the accompanying materials are made available under the 5 | # terms of the Eclipse Public License v1.0 which accompanies this distribution, 6 | # and is available at http://www.eclipse.org/legal/epl-v10.html 7 | ############################################################################## 8 | 9 | FROM ubuntu:trusty 10 | 11 | # Schema: https://github.com/projectatomic/ContainerApplicationGenericLabels 12 | LABEL name="OpenDaylght Clustering Tutorial" \ 13 | version="0.1" \ 14 | vendor="OpenDaylight" \ 15 | summary="Integration/Packaging cluster deployment tutorial" \ 16 | vcs-url="https://git.opendaylight.org/gerrit/p/integration/packaging.git" 17 | 18 | # As we can't mount folders through docker-compose without 19 | # having them in sync with the host, we're using a 20 | # Dockerfile to bypass this limitation 21 | 22 | # ODL Karaf SSH port 23 | EXPOSE 8101 24 | 25 | COPY opendaylight /root/opendaylight 26 | COPY scripts /root/scripts 27 | 28 | CMD ["bash"] 29 | -------------------------------------------------------------------------------- /tutorials/l2switch/mininet.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """Creates a Mininet topology based on examples in the main Mininet documentation.""" 3 | 4 | import time 5 | 6 | from mininet.log import setLogLevel 7 | from mininet.net import Mininet 8 | from mininet.node import RemoteController 9 | from mininet.topo import Topo 10 | 11 | 12 | class SingleSwitchTopo(Topo): 13 | """Single switch connected to n hosts.""" 14 | 15 | def build(self, n=2): 16 | switch = self.addSwitch("s1") 17 | # Python's range(N) generates 0..N-1 18 | for h in range(n): 19 | host = self.addHost("h%s" % (h + 1)) 20 | self.addLink(host, switch) 21 | 22 | 23 | def simple_test(): 24 | """Create and test a simple network.""" 25 | topo = SingleSwitchTopo(n=4) 26 | net = Mininet(topo=topo, controller=None) 27 | net.addController("c0", controller=RemoteController, 28 | ip="127.0.0.1", port=6633) 29 | net.start() 30 | time.sleep(10) 31 | print "Testing network connectivity" 32 | net.pingAll() 33 | 34 | 35 | if __name__ == "__main__": 36 | # Tell mininet to print useful information 37 | setLogLevel("info") 38 | simple_test() 39 | -------------------------------------------------------------------------------- /packages/rpm/connect.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # Connect to ODL Karaf shell. Mostly used for testing. 3 | 4 | # Port that the Karaf shell listens on 5 | KARAF_SHELL_PORT=8101 6 | 7 | # This could be done with public key crypto, but sshpass is easier 8 | if ! command -v sshpass >/dev/null 2>&1 /dev/null; then 9 | echo "Installing sshpass. It's used connecting non-interactively" 10 | if ! sudo yum install -y sshpass; then 11 | echo "Couldn't find sshpass pkg, trying to install EPEL" 12 | if sudo yum install -y epel-release; then 13 | echo "Installed EPEL, re-attempting to install sshpass" 14 | sudo yum install -y sshpass 15 | else 16 | echo "Failed to install sshpass and EPEL, giving up" 17 | exit 1 18 | fi 19 | fi 20 | fi 21 | 22 | echo "Will repeatedly attempt connecting to Karaf shell until it's ready" 23 | # Loop until exit status 0 (success) given by Karaf shell 24 | # Exit status 255 means the Karaf shell isn't open for SSH connections yet 25 | until sshpass -p karaf ssh -p $KARAF_SHELL_PORT -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o PreferredAuthentications=password karaf@localhost 26 | do 27 | echo "Karaf shell isn't ready yet, sleeping 5 seconds..." 28 | sleep 5 29 | done 30 | -------------------------------------------------------------------------------- /docker/openstack/compute/build_compute.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # file: build_compute.sh 3 | # info: builds a docker compute image 4 | IMAGE_REGISTRY=${IMAGE_REGISTRY:-odl-registry:4000} 5 | IMAGE_REPO=${IMAGE_REPO:-s3p/compute} 6 | IMAGE_TAG=${IMAGE_TAG:-latest} 7 | if [ -n "$1" ] ; then 8 | # use arg as image tag if supplied 9 | IMAGE_TAG="$1" 10 | fi 11 | IMAGE_NAME="${IMAGE_REGISTRY}/${IMAGE_REPO}:${IMAGE_TAG}" 12 | DOCKERFILE=${DOCKERFILE:-"./build/Dockerfile"} 13 | 14 | echo "Building $IMAGE_NAME from Dockerfile=$DOCKERFILE at $(date) ... " 15 | # shellcheck disable=SC2154 16 | docker build -t ${IMAGE_NAME} -f ${DOCKERFILE} --build-arg http_proxy=$http_proxy --build-arg https_proxy=$https_proxy . 17 | EXIT_CODE="$?" 18 | if [ "$EXIT_CODE" = 0 ] ; then 19 | PROXIES="" 20 | if [ -n "$http_proxy" ] ; then 21 | # noqa ShellCheckBear 22 | PROXIES="--env http_proxy=$http_proxy --env https_proxy=$https_proxy --env no_proxy=$no_proxy" 23 | fi 24 | echo "Docker image $IMAGE_NAME built successfully." 25 | docker images $IMAGE_NAME 26 | echo "You can launch it with the following example command:" 27 | echo " docker run -it --rm $PROXIES $IMAGE_NAME bash" 28 | else 29 | echo "An error occurred during the build of $IMAGE_NAME" 30 | exit $EXIT_CODE 31 | fi 32 | -------------------------------------------------------------------------------- /tutorials/cluster-nodes/scripts/config.properties: -------------------------------------------------------------------------------- 1 | ############################################################################## 2 | # Copyright (c) 2017 Alexis de Talhouët. All rights reserved. 3 | # 4 | # This program and the accompanying materials are made available under the 5 | # terms of the Eclipse Public License v1.0 which accompanies this distribution, 6 | # and is available at http://www.eclipse.org/legal/epl-v10.html 7 | ############################################################################## 8 | 9 | # define the number of node in your cluster. 10 | NUM_OF_NODES=3 11 | 12 | # define the OpenDaylight version to use. 13 | ODL_VERSION="0.5.2-Boron-SR2" 14 | 15 | # define the features to install by default. 16 | # odl-mdsal-clustering enables cluster-singleton-service 17 | # odl-jolokia allows the use of MBEANs through REST API 18 | # odl-restconf enables the RESTCONF server 19 | # add here other features to install, separated by a coma 20 | USER_FEATURES="odl-mdsal-clustering,odl-jolokia,odl-restconf" 21 | 22 | # DO NOT MODIFY 23 | # URL to retrieve the OpenDaylight distribution based on the defined verion. 24 | DISTRO_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/$ODL_VERSION/distribution-karaf-$ODL_VERSION.tar.gz 25 | -------------------------------------------------------------------------------- /docker/openstack/service/build_service.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # file: build_service.sh 3 | # info: builds a docker service image 4 | IMAGE_REGISTRY=${IMAGE_REGISTRY:-odl-registry:4000} 5 | IMAGE_REPO=${IMAGE_REPO:-s3p/service} 6 | IMAGE_TAG=${IMAGE_TAG:-latest} 7 | if [ -n "$1" ] ; then 8 | # use arg as image tag if supplied 9 | IMAGE_TAG="$1" 10 | fi 11 | IMAGE_NAME="${IMAGE_REGISTRY}/${IMAGE_REPO}:${IMAGE_TAG}" 12 | DOCKERFILE=${DOCKERFILE:-"./build/Dockerfile"} 13 | 14 | echo "Building $IMAGE_NAME from Dockerfile=$DOCKERFILE at $(date) ... " 15 | # shellcheck disable=SC2154 16 | docker build -t ${IMAGE_NAME} -f ${DOCKERFILE} --build-arg http_proxy=$http_proxy --build-arg https_proxy=$https_proxy ./build 17 | 18 | EXIT_CODE="$?" 19 | if [ "$EXIT_CODE" = 0 ] ; then 20 | PROXIES="" 21 | if [ -n "$http_proxy" ] ; then 22 | # noqa ShellCheckBear 23 | PROXIES="--env http_proxy=$http_proxy --env https_proxy=$https_proxy --env no_proxy=$no_proxy" 24 | fi 25 | echo "Docker image $IMAGE_NAME built successfully." 26 | docker images $IMAGE_NAME 27 | echo "You can launch it with the following example command:" 28 | echo " docker run -it --rm $PROXIES $IMAGE_NAME bash" 29 | else 30 | echo "An error occurred during the build of $IMAGE_NAME" 31 | exit $EXIT_CODE 32 | fi 33 | 34 | -------------------------------------------------------------------------------- /packer/templates/docker.json: -------------------------------------------------------------------------------- 1 | { 2 | "variables": { 3 | "odl_version": null, 4 | "os_name": null, 5 | "os_version": null, 6 | "docker_repo": null, 7 | "rpm_repo_url": null 8 | }, 9 | "builders": [ 10 | { 11 | "type": "docker", 12 | "image": "{{ user `os_name` }}:{{ user `os_version` }}", 13 | "pull": false, 14 | "commit": true 15 | } 16 | ], 17 | "provisioners": [ 18 | { 19 | "type": "shell", 20 | "scripts": [ 21 | "provision/config_docker_{{ user `os_name`}}.sh", 22 | "provision/config_ansible_{{ user `os_name`}}.sh", 23 | "provision/update_{{ user `os_name`}}.sh", 24 | "provision/cleanup_{{ user `os_name`}}.sh", 25 | "provision/minimize.sh" 26 | ] 27 | }, 28 | { 29 | "type": "ansible-local", 30 | "playbook_file": "provision/install_odl.yml", 31 | "extra_arguments": [ 32 | "--extra-vars", 33 | "\"rpm_repo_url={{ user `rpm_repo_url` }}\"" 34 | ] 35 | } 36 | ], 37 | "post-processors": [ 38 | { 39 | "type": "docker-tag", 40 | "repository": "{{ user `docker_repo` }}", 41 | "tag": "{{ user `odl_version` }}", 42 | "force": false 43 | } 44 | ] 45 | } 46 | -------------------------------------------------------------------------------- /packages/rpm/specs/build_specs.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """Build RPM .spec files from build description and a Jinja2 .spec template.""" 3 | 4 | import os 5 | from string import Template 6 | import sys 7 | 8 | try: 9 | from jinja2 import Environment, FileSystemLoader 10 | except ImportError: 11 | sys.stderr.write("We recommend using our included Vagrant env.\n") 12 | sys.stderr.write("Else, do `pip install -r requirements.txt` in a venv.\n") 13 | raise 14 | 15 | # Path to the directory that contains this file is assumed to be the spec dir 16 | spec_dir = os.path.dirname(os.path.abspath(__file__)) 17 | 18 | # Create the Jinja2 Environment 19 | env = Environment(loader=FileSystemLoader(spec_dir)) 20 | 21 | # Load the OpenDaylight RPM .spec file Jinja2 template 22 | template = env.get_template("opendaylight.spec") 23 | 24 | # Python string Template, specialized into a specfile file name per-build 25 | specfile_template = Template("opendaylight-$version_major.$version_minor." 26 | "$version_patch-$pkg_version.spec") 27 | 28 | 29 | def build_spec(build): 30 | """Build the RPM .spec file from a template for the given build description. 31 | 32 | :param build: Description of an RPM build 33 | :type build: dict 34 | 35 | """ 36 | specfile_name = specfile_template.substitute(build) 37 | specfile_path = os.path.join(spec_dir, specfile_name) 38 | with open(specfile_path, "w") as specfile: 39 | specfile.write(template.render(build)) 40 | -------------------------------------------------------------------------------- /docker/openstack/systemd/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:16.04 2 | LABEL maintainer="OpenDaylight Integration Project Team " 3 | # Schema: https://github.com/projectatomic/ContainerApplicationGenericLabels 4 | LABEL name="Int/Pack OpenStack Systemd Base Node" \ 5 | version="0.1" \ 6 | vendor="OpenDaylight" \ 7 | summary="OpenStack systemd base node for scale testing" \ 8 | vcs-url="https://git.opendaylight.org/gerrit/p/integration/packaging.git" 9 | 10 | ENV PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \ 11 | DEBIAN_FRONTEND=noninteractive \ 12 | container=docker 13 | 14 | # Start ignoring DockerfileLintBear 15 | RUN find /etc/systemd/system \ 16 | /lib/systemd/system \ 17 | -path '*.wants/*' \ 18 | -not -name '*journald*' \ 19 | -not -name '*systemd-tmpfiles*' \ 20 | -not -name '*systemd-user-sessions*' \ 21 | -exec rm \{} \; 22 | 23 | RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in $(ls *); do [ "$i" = systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 24 | rm -f /lib/systemd/system/multi-user.target.wants/*;\ 25 | rm -f /etc/systemd/system/*.wants/*;\ 26 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 27 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 28 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 29 | rm -f /lib/systemd/system/basic.target.wants/* 30 | # Stop ignoring 31 | 32 | RUN systemctl set-default multi-user.target 33 | VOLUME [ "/sys/fs/cgroup" ] 34 | 35 | CMD ["/sbin/init"] 36 | 37 | # vim: set ft=dockerfile sw=4 ts=4 : 38 | -------------------------------------------------------------------------------- /helm/opendaylight/templates/hpa.yaml: -------------------------------------------------------------------------------- 1 | {{/* 2 | # SPDX-License-Identifier: EPL-1.0 3 | ############################################################################## 4 | # Copyright (c) 2021 The Linux Foundation and others. 5 | # 6 | # All rights reserved. This program and the accompanying materials 7 | # are made available under the terms of the Eclipse Public License v1.0 8 | # which accompanies this distribution, and is available at 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | ############################################################################## 11 | */}} 12 | {{- if .Values.autoscaling.enabled }} 13 | apiVersion: autoscaling/v2beta1 14 | kind: HorizontalPodAutoscaler 15 | metadata: 16 | name: {{ include "opendaylight.fullname" . }} 17 | labels: 18 | {{- include "opendaylight.labels" . | nindent 4 }} 19 | spec: 20 | scaleTargetRef: 21 | apiVersion: apps/v1 22 | kind: Deployment 23 | name: {{ include "opendaylight.fullname" . }} 24 | minReplicas: {{ .Values.autoscaling.minReplicas }} 25 | maxReplicas: {{ .Values.autoscaling.maxReplicas }} 26 | metrics: 27 | {{- if .Values.autoscaling.targetCPUUtilizationPercentage }} 28 | - type: Resource 29 | resource: 30 | name: cpu 31 | targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }} 32 | {{- end }} 33 | {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }} 34 | - type: Resource 35 | resource: 36 | name: memory 37 | targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }} 38 | {{- end }} 39 | {{- end }} 40 | -------------------------------------------------------------------------------- /helm/opendaylight/templates/service.yaml: -------------------------------------------------------------------------------- 1 | {{/* 2 | # SPDX-License-Identifier: EPL-1.0 3 | ############################################################################## 4 | # Copyright (c) 2021 The Linux Foundation and others. 5 | # 6 | # All rights reserved. This program and the accompanying materials 7 | # are made available under the terms of the Eclipse Public License v1.0 8 | # which accompanies this distribution, and is available at 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | ############################################################################## 11 | */}} 12 | 13 | apiVersion: v1 14 | kind: Service 15 | metadata: 16 | name: {{ include "opendaylight.fullname" . }} 17 | labels: 18 | {{- include "opendaylight.labels" . | nindent 4 }} 19 | annotations: 20 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 21 | spec: 22 | type: {{ .Values.service.type }} 23 | ports: 24 | - port: {{ .Values.service.port }} 25 | targetPort: http 26 | protocol: TCP 27 | name: http 28 | {{- if eq .Values.service.type "NodePort" }} 29 | nodePort: {{ .Values.service.nodePortHttp }} 30 | {{- end }} 31 | {{- if .Values.config.isClusterDeployment }} 32 | - port: {{ .Values.service.clusterPort }} 33 | targetPort: cluster 34 | protocol: TCP 35 | name: cluster 36 | {{- if eq .Values.service.type "NodePort" }} 37 | nodePort: {{ .Values.service.nodePortCluster }} 38 | {{- end }} 39 | {{- end }} 40 | {{- if eq .Values.service.type "ClusterIP" }} 41 | clusterIP: None 42 | {{- end }} 43 | selector: 44 | {{- include "opendaylight.selectorLabels" . | nindent 4 }} 45 | publishNotReadyAddresses: true 46 | -------------------------------------------------------------------------------- /tutorials/cluster-nodes/Vagrantfile: -------------------------------------------------------------------------------- 1 | # -*- mode: ruby -*- 2 | # vi: set ft=ruby : 3 | 4 | ############################################################################## 5 | # Copyright (c) 2017 Alexis de Talhouët. All rights reserved. 6 | # 7 | # This program and the accompanying materials are made available under the 8 | # terms of the Eclipse Public License v1.0 which accompanies this distribution, 9 | # and is available at http://www.eclipse.org/legal/epl-v10.html 10 | ############################################################################## 11 | 12 | # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! 13 | VAGRANTFILE_API_VERSION = "2" 14 | 15 | $install_odl = <