diff --git a/ansible-role-requirements.yml b/ansible-role-requirements.yml index a0adcf4b96..85750e3497 100644 --- a/ansible-role-requirements.yml +++ b/ansible-role-requirements.yml @@ -134,3 +134,11 @@ scm: git src: https://github.com/willshersystems/ansible-sshd version: master +- name: bird + scm: git + src: https://github.com/logan2211/ansible-bird + version: master +- name: etcd + scm: git + src: https://github.com/logan2211/ansible-etcd + version: master diff --git a/playbooks/defaults/repo_packages/projectcalico.yml b/playbooks/defaults/repo_packages/projectcalico.yml new file mode 100644 index 0000000000..c67c6ac14f --- /dev/null +++ b/playbooks/defaults/repo_packages/projectcalico.yml @@ -0,0 +1,22 @@ +--- +# Copyright 2016, Logan Vig +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +calico_git_repo: https://github.com/projectcalico/calico +calico_git_install_branch: master +calico_git_project_group: neutron_all + +networking_calico_git_repo: https://git.openstack.org/openstack/networking-calico +networking_calico_git_install_branch: master +networking_calico_git_project_group: neutron_all \ No newline at end of file diff --git a/playbooks/etcd-install.yml b/playbooks/etcd-install.yml new file mode 100644 index 0000000000..2f25cdd8d2 --- /dev/null +++ b/playbooks/etcd-install.yml @@ -0,0 +1,31 @@ +--- +# Copyright 2016, Logan Vig +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +- name: Install etcd server cluster + hosts: etcd_all + gather_facts: "{{ gather_facts | default(True) }}" + max_fail_percentage: 20 + user: root + pre_tasks: + - include: common-tasks/os-lxc-container-setup.yml + - include: common-tasks/package-cache-proxy.yml + roles: + - role: "etcd" + etcd_install_type: server + tags: + - etcd-server + - role: "system_crontab_coordination" + vars: + is_metal: "{{ properties.is_metal|default(false) }}" diff --git a/playbooks/os-neutron-install.yml b/playbooks/os-neutron-install.yml index d28c6a4a5b..062379fe36 100644 --- a/playbooks/os-neutron-install.yml +++ b/playbooks/os-neutron-install.yml @@ -97,6 +97,11 @@ neutron_local_ip: "{{ _local_ip|default('127.0.0.1') }}" tags: - "os-neutron" + - role: "bird" + when: + - "'neutron_calico_dhcp_agent' in group_names" + tags: + - "bird" - { role: "openstack_openrc", tags: [ "openstack-openrc" ] } - role: "rsyslog_client" rsyslog_client_log_rotate_file: neutron_log_rotate diff --git a/playbooks/setup-infrastructure.yml b/playbooks/setup-infrastructure.yml index b9864966cc..aaf1da2562 100644 --- a/playbooks/setup-infrastructure.yml +++ b/playbooks/setup-infrastructure.yml @@ -18,5 +18,6 @@ - include: memcached-install.yml - include: galera-install.yml - include: rabbitmq-install.yml +- include: etcd-install.yml - include: utility-install.yml - include: rsyslog-install.yml diff --git a/releasenotes/notes/neutron-calico-2332b0972708af8a.yaml b/releasenotes/notes/neutron-calico-2332b0972708af8a.yaml new file mode 100644 index 0000000000..d285683cf6 --- /dev/null +++ b/releasenotes/notes/neutron-calico-2332b0972708af8a.yaml @@ -0,0 +1,5 @@ +--- +features: + - The Project Calico Neutron networking plugin is now integrated into the + deployment. For setup instructions please see ``os_neutron`` role + documentation.