Skip to content

Commit

Permalink
Add scenario 'entry-scale-ironic-flat-network'
Browse files Browse the repository at this point in the history
  • Loading branch information
mital-suse committed Jan 24, 2019
1 parent d0b7692 commit e86e3a6
Show file tree
Hide file tree
Showing 16 changed files with 327 additions and 2 deletions.
16 changes: 15 additions & 1 deletion jenkins/ci.suse.de/templates/cloud-ardana-pipeline-template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@
- mid-scale-kvm
- standard
- std-split
- entry-scale-ironic-flat-network
description: >-
The name of one of the available scenarios that can be used to generate input models.
If this parameter is set, the following parameters may also be set to different values, to control
Expand Down Expand Up @@ -253,7 +254,7 @@
description: |
The number of SLES compute nodes in the generated input model.
Input model generator scenarios using this parameter: all
Input model generator scenarios using this parameter: all except entry-scale-ironic-flat-network.
NOTE: this parameter is used to generate input models. See the 'scenario_name' parameter about
using one of the available input model generator scenarios.
Expand All @@ -271,6 +272,19 @@
NOTE: this parameter is used to generate input models. See the 'scenario_name' parameter about
using one of the available input model generator scenarios.
- validating-string:
name: ironic_compute
default: '0'
regex: '[0-9]+'
msg: The entered value failed validation
description: |
The number of Ironic compute nodes in the generated input model.
Input model generator scenarios using this parameter: entry-scale-ironic-flat-network
NOTE: this parameter is used to generate input models. See the 'scenario_name' parameter about
using one of the available input model generator scenarios.
- string:
name: disabled_services
default: '{disabled_services|}'
Expand Down
13 changes: 13 additions & 0 deletions scripts/jenkins/ardana/ansible/deploy-cloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,19 @@
- heat-api-cloudwatch
- nova-console-auth

- name: Remove designate and octavia features from input model when scenario is ironic
replace:
path: "{{ input_model_path }}/data/control_plane.yml"
regexp: '(.*{{ item }}.*)'
replace: '#\1'
when: scenario_name == "entry-scale-ironic-flat-network"
delegate_to: localhost
loop:
- designate
- octavia
- bind


- name: Ardana log stream at
debug:
msg: "http://{{ ansible_host }}:9091/"
Expand Down
1 change: 1 addition & 0 deletions scripts/jenkins/ardana/ansible/group_vars/all/all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,4 @@ rc_channels:
cloud-ardana-ci-slot18: "cloud-ci-monitoring"
cloud-ardana-ci-slot19: "cloud-ci-monitoring"
cloud-ardana-ci-slot20: "cloud-ci-monitoring"
qe006: "cloud-qe-hlm006"
18 changes: 18 additions & 0 deletions scripts/jenkins/ardana/ansible/host_vars/qe006.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#
# (c) Copyright 2018 SUSE LLC
#
# 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.
#
---

vrrp_offset: 6
2 changes: 2 additions & 0 deletions scripts/jenkins/ardana/ansible/inventory
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[gate_qe]
gate-pcloud001 ansible_host=10.84.99.1
gate-qe002 ansible_host=10.84.65.1
gate-qe006 ansible_host=10.84.82.1
gate-qe007 ansible_host=10.84.83.1
gate-qe101 ansible_host=10.84.68.1
gate-qe102 ansible_host=10.84.84.1
Expand All @@ -12,6 +13,7 @@ gate-qescale ansible_host=10.84.48.50
[deployer_qe]
pcloud001 ansible_host=10.84.132.1
qe002 ansible_host=10.84.43.81
qe006 ansible_host=10.84.81.1
qe007 ansible_host=10.84.81.17
qe101 ansible_host=10.84.43.113
qe102 ansible_host=10.84.81.113
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ enable_external_network_bridge: "{{ versioned_features.external_network_bridge.e

enable_designate_worker_producer: "{{ versioned_features.designate_worker_producer.enabled }}"


cp_prefix: cp1
max_host_prefix_len: "{{ 33-(cp_prefix|length) }}"
host_prefix: "{{ ('ardana-' ~ ardana_env)[:max_host_prefix_len|int-1] if ardana_env is defined else 'ardana' }}"
Expand Down Expand Up @@ -124,6 +125,11 @@ service_component_groups:
- neutron-dhcp-agent
- neutron-metadata-agent
- neutron-openvswitch-agent
IRONIC:
- nova-scheduler-ironic
- ironic-api
- ironic-conductor
- ironic-client
LMM:
- ceilometer-api
- ceilometer-polling
Expand Down Expand Up @@ -163,6 +169,11 @@ service_component_groups:
- neutron-openvswitch-agent
- neutron-lbaasv2-agent
- manila-share
IRONIC-COMPUTE:
- neutron-openvswitch-agent
- nova-compute-ironic
- nova-compute
- ntp-client

disk_component_groups:
OS:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,14 @@
- AZ2
- AZ3
configuration-data:
{% if scenario.name == 'entry-scale-ironic-flat-network' %}
- IRONIC-CONFIG-CP1
- NEUTRON-CONFIG-CP1
{% else %}
- DESIGNATE-CONFIG-CP1
- OCTAVIA-CONFIG-CP1
- NEUTRON-CONFIG-CP1
{% endif %}
common-service-components:
{% set common_service_components = service_component_groups.COMMON | reject('match', disabled_services|ternary(disabled_services, '^$')) | list %}
{% for service_component in common_service_components|unique|sort %}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# 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.
#
---
product:
version: 2

# This example is based on using a flat provider guest network as the
# cleaning network for ironic nodes to use.
#
# This network must be created by neutron.

configuration-data:
- name: IRONIC-CONFIG-CP1
services:
- ironic
data:
# Set enable_node_cleaning to false to disable node cleaning by Ironic.
cleaning_network: guest-network
enable_node_cleaning: true
# Set enable_oneview to true to enable oneview for ironic.
enable_oneview: false
# Provide encrypted oneview password encryption can be done
# using ardanaencrypt.py or using openssl and export the key
# as environement variable 'ARDANA_USER_PASSWORD_ENCRYPT_KEY'
oneview_manager_url:
oneview_username:
oneview_encrypted_password:
oneview_allow_insecure_connections:
tls_cacert_file:
# Set enable_agent_drivers to false if swift is disabled
enable_agent_drivers: true
# Enable boot from volume, by setting the enabled_storage_interfaces to
# 'cinder' in Ironic config file
boot_from_volume_enabled: false
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,11 @@
{% set ns.routes=network_group.routes|default([]) %}
{% if 'MANAGEMENT' in network_group.component_endpoints %}
{% if bm_info is defined %}
{% if scenario.name != 'entry-scale-ironic-flat-network' %}
{% set _ = ns.routes.append('OCTAVIA-MGMT-NET') %}
{% else %}
{% set _ = ns.routes.append('guest-network') %}
{% endif %}
{% set _ = ns.routes.append('ILO') %}
{% else %}
{% for neutron_ng in scenario.network_groups if 'NEUTRON-VLAN' in neutron_ng.component_endpoints %}
Expand Down Expand Up @@ -196,12 +200,17 @@
# This is the network group that will be used to provide
# external access to VMs (via floating IP Addresses)
#
{% if enable_external_network_bridge %}
{% if enable_external_network_bridge and scenario.name !='entry-scale-ironic-flat-network' %}
- neutron.l3_agent.external_network_bridge
{% else %}
- neutron.networks.flat:
{% if scenario.name == 'entry-scale-ironic-flat-network' %}
{% set ns.physnet_id = ns.physnet_id+1 %}
provider-physical-network: physnet{{ ns.physnet_id }}
{% else %}
provider-physical-network: external{{ ns.extnet_id | ternary(ns.extnet_id, '') }}
{% set ns.extnet_id = ns.extnet_id+1 %}
{% endif %}
{% endif %}
{% endif %}
{% if 'NEUTRON-VLAN' in network_group['component_endpoints'] %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
{% if bm_info is defined %}
neutron_provider_networks:
{{ bm_info.neutron.provider_networks | to_nice_yaml(indent=2) | indent(10, True) }}
{% if bm_info.neutron.external_networks is defined %}
neutron_external_networks:
{% for external_network in bm_info.neutron.external_networks %}
- {{ external_network | to_nice_yaml(indent=2) | indent(12, False) }}
Expand All @@ -34,6 +35,7 @@
physical_network: external{{ loop.index0 | ternary(loop.index0, '') }}
{% endif %}
{% endfor %}
{% endif %}
{% else %}
neutron_provider_networks:
{% set ns = namespace(mgmt_net_id=0, physnet_id=0, net_id=30, vlan_id=100+scenario.network_groups|length) %}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#
# (c) Copyright 2018 SUSE LLC
#
# 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.
#
---

controllers: 3
sles_computes: 0
rhel_computes: 0

scenario:
name: entry-scale-ironic-flat-network
cloud_name: entry-scale
description: >
entry scale cloud that uses the Ironic service to provision physical machines through the Compute services API
{{ clm_model }} CLM node and {{ ironic_compute }} IRONIC-COMPUTE node
audit_enabled: True
ses_enabled: "{{ ses_enabled | default(False) }}"
use_cinder_volume_disk: True
use_glance_cache_disk: False
availability_zones: "{{ availability_zones }}"

service_template: ironic
network_template: ironic
interface_template: ironic
disk_template: ironic
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#
# (c) Copyright 2018 SUSE LLC
#
# 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.
#
---

disk_models:
volume_groups:
- name: ardana-vg
disk_components:
- OS
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#
# (c) Copyright 2018 SUSE LLC
#
# 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.
#
---

interface_models:
- name: CLM
service_groups:
- clm
network_interfaces:
- network_groups:
- MANAGEMENT
forced_network_groups:
- EXTERNAL-API

- name: CONTROLLER
service_groups:
- controller
network_interfaces:
- network_groups:
- EXTERNAL-API
- GUEST
- MANAGEMENT

- name: IRONIC-COMPUTE
service_groups:
- ironic-compute
network_interfaces:
- network_groups:
- GUEST
- MANAGEMENT
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#
# (c) Copyright 2018 SUSE LLC
#
# 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.
#
---

network_groups:
- name: MANAGEMENT
hostname_suffix: mgmt
tagged_vlan: false
component_endpoints:
- MANAGEMENT
- INTERNAL-API

- name: EXTERNAL-API
hostname_suffix: extapi
tagged_vlan: true
component_endpoints:
- EXTERNAL-API
routes:
- default

- name: GUEST
hostname_suffix: guest
tagged_vlan: true
component_endpoints:
- NEUTRON-EXT

- name: ILO
hostname_suffix: ilo
component_endpoints: []
Loading

0 comments on commit e86e3a6

Please sign in to comment.