Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save evrardjp/af4966927686b42156a792fbb7f6fdaa to your computer and use it in GitHub Desktop.
Save evrardjp/af4966927686b42156a792fbb7f6fdaa to your computer and use it in GitHub Desktop.
OSA CI Configuration for unbound + ceph + calico
---
# Copyright 2016, Logan Vig <[email protected]>
#
# 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.
bootstrap_host_scenario: limestone
bootstrap_host_ceph: yes
openstack_user_config_overrides:
cidr_networks:
container: 172.29.236.0/22
storage: 172.29.244.0/22
used_ips:
- "172.29.236.1,172.29.236.50"
- "172.29.244.1,172.29.244.50"
global_overrides:
internal_lb_vip_address: 172.29.236.100
# The external IP is quoted simply to ensure that the .aio file can be used as input
# dynamic inventory testing.
external_lb_vip_address: "{{ bootstrap_host_public_address | default(ansible_default_ipv4.address) }}"
management_bridge: "br-mgmt"
provider_networks:
- network:
container_bridge: "br-mgmt"
container_type: "veth"
container_interface: "eth1"
ip_from_q: "container"
type: "raw"
group_binds:
- all_containers
- hosts
is_container_address: true
is_ssh_address: true
- network:
container_bridge: "br-storage"
container_type: "veth"
container_interface: "eth2"
ip_from_q: "storage"
type: "raw"
group_binds:
- glance_api
- cinder_api
- cinder_volume
- nova_compute
- swift_proxy
openstack_confd_entries:
- name: ceph.yml.aio
- name: cinder.yml.aio
- name: glance.yml.aio
- name: heat.yml.aio
- name: horizon.yml.aio
- name: keystone.yml.aio
- name: neutron.yml.aio
- name: nova.yml.aio
- name: unbound.yml.aio
ci_bootstrap_path: "{{ lookup('env','CI_BOOTSTRAP_PATH') | default('/tmp/ci-bootstrap', true) }}"
bootstrap_user_variables_extra_templates:
limestone:
- src: user_variables_ceph.yml.j2
dest: user_variables_ceph.yml
- src: "{{ ci_bootstrap_path }}/user_variables_calico.yml"
dest: user_variables_calico.yml
- src: "{{ ci_bootstrap_path }}/env.d_etcd.yml"
dest: env.d/etcd.yml
- src: "{{ ci_bootstrap_path }}/env.d_neutron.yml"
dest: env.d/neutron.yml
#!/usr/bin/env bash
set -e -u -x
CI_BOOTSTRAP_PATH=${CI_BOOTSTRAP_PATH:-"/tmp/ci-bootstrap"}
BASE_UPSTREAM_URL="https://gist.githubusercontent.com/Logan2211/61395dfd05af1819673bb5232d14077f/raw"
mkdir "${CI_BOOTSTRAP_PATH}"
for dlfile in bootstrap_host_overrides.yml env.d_{etcd,neutron}.yml user_variables_calico.yml; do
curl "${BASE_UPSTREAM_URL}/${dlfile}" > "${CI_BOOTSTRAP_PATH}/${dlfile}"
done
# Hook into the OSA bootstrap-aio role
export BOOTSTRAP_OPTS="@${CI_BOOTSTRAP_PATH}/bootstrap_host_overrides.yml"
---
# Add the etcd containers to the infra hosts.
component_skel:
etcd:
belongs_to:
- etcd_all
container_skel:
etcd_container:
belongs_to:
- infra_containers
- shared-infra_containers
contains:
- etcd
properties:
service_name: etcd
---
# Add the compute hosts to the neutron_calico_dhcp_agent group.
component_skel:
neutron_calico_dhcp_agent:
belongs_to:
- neutron_all
container_skel:
neutron_agents_container:
contains: {}
neutron_calico_dhcp_agent_container:
belongs_to:
- compute_containers
contains:
- neutron_calico_dhcp_agent
properties:
is_metal: true
service_name: neutron
---
# Copyright 2016, Logan Vig <[email protected]>
#
# 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.
nova_network_type: calico
neutron_plugin_type: ml2.calico
tempest_private_net_provider_type: "local"
tempest_private_net_seg_id: ''
tempest_public_net_provider_type: "local"
tempest_public_net_physical_type: ''
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment