Skip to content

Instantly share code, notes, and snippets.

@logan2211
Last active September 14, 2017 18:03
Show Gist options
  • Save logan2211/61395dfd05af1819673bb5232d14077f to your computer and use it in GitHub Desktop.
Save logan2211/61395dfd05af1819673bb5232d14077f to your computer and use it in GitHub Desktop.
OSA CI Configuration for unbound + ceph + calico
---
# Copyright 2016, Logan Vig <logan2211@gmail.com>
#
# 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 }}/user_variables_lsn.yml"
dest: user_variables_lsn.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
- src: "{{ playbook_dir }}/../etc/openstack_deploy/env.d/cinder-volume.yml.container.example"
dest: env.d/cinder-volume.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,lsn}.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 <logan2211@gmail.com>
#
# 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: ''
---
# Copyright 2017, Logan Vig <logan2211@gmail.com>
#
# 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.
uca_apt_repo_url: http://mirror.lstn.net/ubuntu-cloud-archive
galera_repo_url: http://mirror.lstn.net/mariadb/repo/10.1/ubuntu
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment