Skip to content

Commit 6bdf89f

Browse files
committed
Add scenario 'entry-scale-ironic-flat-network'
1 parent d0b7692 commit 6bdf89f

File tree

16 files changed

+330
-2
lines changed

16 files changed

+330
-2
lines changed

jenkins/ci.suse.de/templates/cloud-ardana-pipeline-template.yaml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@
140140
- mid-scale-kvm
141141
- standard
142142
- std-split
143+
- entry-scale-ironic-flat-network
143144
description: >-
144145
The name of one of the available scenarios that can be used to generate input models.
145146
If this parameter is set, the following parameters may also be set to different values, to control
@@ -253,7 +254,7 @@
253254
description: |
254255
The number of SLES compute nodes in the generated input model.
255256
256-
Input model generator scenarios using this parameter: all
257+
Input model generator scenarios using this parameter: all except entry-scale-ironic-flat-network.
257258
258259
NOTE: this parameter is used to generate input models. See the 'scenario_name' parameter about
259260
using one of the available input model generator scenarios.
@@ -271,6 +272,19 @@
271272
NOTE: this parameter is used to generate input models. See the 'scenario_name' parameter about
272273
using one of the available input model generator scenarios.
273274
275+
- validating-string:
276+
name: ironic_compute
277+
default: '0'
278+
regex: '[0-9]+'
279+
msg: The entered value failed validation
280+
description: |
281+
The number of Ironic compute nodes in the generated input model.
282+
283+
Input model generator scenarios using this parameter: entry-scale-ironic-flat-network
284+
285+
NOTE: this parameter is used to generate input models. See the 'scenario_name' parameter about
286+
using one of the available input model generator scenarios.
287+
274288
- string:
275289
name: disabled_services
276290
default: '{disabled_services|}'

scripts/jenkins/ardana/ansible/deploy-cloud.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,19 @@
5151
- heat-api-cloudwatch
5252
- nova-console-auth
5353

54+
- name: Remove designate and octavia features from input model when scenario is ironic
55+
replace:
56+
path: "{{ input_model_path }}/data/control_plane.yml"
57+
regexp: '(.*{{ item }}.*)'
58+
replace: '#\1'
59+
when: scenario_name == "entry-scale-ironic-flat-network"
60+
delegate_to: localhost
61+
loop:
62+
- designate
63+
- octavia
64+
- bind
65+
66+
5467
- name: Ardana log stream at
5568
debug:
5669
msg: "http://{{ ansible_host }}:9091/"

scripts/jenkins/ardana/ansible/group_vars/all/all.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,3 +78,4 @@ rc_channels:
7878
cloud-ardana-ci-slot18: "cloud-ci-monitoring"
7979
cloud-ardana-ci-slot19: "cloud-ci-monitoring"
8080
cloud-ardana-ci-slot20: "cloud-ci-monitoring"
81+
qe006: "cloud-qe-hlm006"
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#
2+
# (c) Copyright 2018 SUSE LLC
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License"); you may
5+
# not use this file except in compliance with the License. You may obtain
6+
# a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
# License for the specific language governing permissions and limitations
14+
# under the License.
15+
#
16+
---
17+
18+
vrrp_offset: 6

scripts/jenkins/ardana/ansible/inventory

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
[gate_qe]
22
gate-pcloud001 ansible_host=10.84.99.1
33
gate-qe002 ansible_host=10.84.65.1
4+
gate-qe006 ansible_host=10.84.82.1
45
gate-qe007 ansible_host=10.84.83.1
56
gate-qe101 ansible_host=10.84.68.1
67
gate-qe102 ansible_host=10.84.84.1
@@ -12,6 +13,7 @@ gate-qescale ansible_host=10.84.48.50
1213
[deployer_qe]
1314
pcloud001 ansible_host=10.84.132.1
1415
qe002 ansible_host=10.84.43.81
16+
qe006 ansible_host=10.84.81.1
1517
qe007 ansible_host=10.84.81.17
1618
qe101 ansible_host=10.84.43.113
1719
qe102 ansible_host=10.84.81.113

scripts/jenkins/ardana/ansible/roles/input_model_generator/defaults/main.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ enable_external_network_bridge: "{{ versioned_features.external_network_bridge.e
4242

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

45+
{% if scenario.name == 'entry-scale-ironic-flat-network' %}
46+
enable_external_network_bridge: false
47+
{% endif %}
48+
4549
cp_prefix: cp1
4650
max_host_prefix_len: "{{ 33-(cp_prefix|length) }}"
4751
host_prefix: "{{ ('ardana-' ~ ardana_env)[:max_host_prefix_len|int-1] if ardana_env is defined else 'ardana' }}"
@@ -124,6 +128,11 @@ service_component_groups:
124128
- neutron-dhcp-agent
125129
- neutron-metadata-agent
126130
- neutron-openvswitch-agent
131+
IRONIC:
132+
- nova-scheduler-ironic
133+
- ironic-api
134+
- ironic-conductor
135+
- ironic-client
127136
LMM:
128137
- ceilometer-api
129138
- ceilometer-polling
@@ -163,6 +172,11 @@ service_component_groups:
163172
- neutron-openvswitch-agent
164173
- neutron-lbaasv2-agent
165174
- manila-share
175+
IRONIC-COMPUTE:
176+
- neutron-openvswitch-agent
177+
- nova-compute-ironic
178+
- nova-compute
179+
- ntp-client
166180

167181
disk_component_groups:
168182
OS:

scripts/jenkins/ardana/ansible/roles/input_model_generator/templates/input_model/data/control_plane.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,14 @@
2626
- AZ2
2727
- AZ3
2828
configuration-data:
29+
{% if scenario.name == 'entry-scale-ironic-flat-network' %}
30+
- IRONIC-CONFIG-CP1
31+
- NEUTRON-CONFIG-CP1
32+
{% else %}
2933
- DESIGNATE-CONFIG-CP1
3034
- OCTAVIA-CONFIG-CP1
3135
- NEUTRON-CONFIG-CP1
36+
{% endif %}
3237
common-service-components:
3338
{% set common_service_components = service_component_groups.COMMON | reject('match', disabled_services|ternary(disabled_services, '^$')) | list %}
3439
{% for service_component in common_service_components|unique|sort %}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#
2+
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
3+
# (c) Copyright 2017-2018 SUSE LLC
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License"); you may
6+
# not use this file except in compliance with the License. You may obtain
7+
# a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14+
# License for the specific language governing permissions and limitations
15+
# under the License.
16+
#
17+
---
18+
product:
19+
version: 2
20+
21+
# This example is based on using a flat provider guest network as the
22+
# cleaning network for ironic nodes to use.
23+
#
24+
# This network must be created by neutron.
25+
26+
configuration-data:
27+
- name: IRONIC-CONFIG-CP1
28+
services:
29+
- ironic
30+
data:
31+
# Set enable_node_cleaning to false to disable node cleaning by Ironic.
32+
cleaning_network: guest-network
33+
enable_node_cleaning: true
34+
# Set enable_oneview to true to enable oneview for ironic.
35+
enable_oneview: false
36+
# Provide encrypted oneview password encryption can be done
37+
# using ardanaencrypt.py or using openssl and export the key
38+
# as environement variable 'ARDANA_USER_PASSWORD_ENCRYPT_KEY'
39+
oneview_manager_url:
40+
oneview_username:
41+
oneview_encrypted_password:
42+
oneview_allow_insecure_connections:
43+
tls_cacert_file:
44+
# Set enable_agent_drivers to false if swift is disabled
45+
enable_agent_drivers: true
46+
# Enable boot from volume, by setting the enabled_storage_interfaces to
47+
# 'cinder' in Ironic config file
48+
boot_from_volume_enabled: false

scripts/jenkins/ardana/ansible/roles/input_model_generator/templates/input_model/data/network_groups.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,11 @@
7777
{% set ns.routes=network_group.routes|default([]) %}
7878
{% if 'MANAGEMENT' in network_group.component_endpoints %}
7979
{% if bm_info is defined %}
80+
{% if scenario.name != 'entry-scale-ironic-flat-network' %}
8081
{% set _ = ns.routes.append('OCTAVIA-MGMT-NET') %}
82+
{% else %}
83+
{% set _ = ns.routes.append('guest-network') %}
84+
{% endif %}
8185
{% set _ = ns.routes.append('ILO') %}
8286
{% else %}
8387
{% for neutron_ng in scenario.network_groups if 'NEUTRON-VLAN' in neutron_ng.component_endpoints %}
@@ -196,12 +200,17 @@
196200
# This is the network group that will be used to provide
197201
# external access to VMs (via floating IP Addresses)
198202
#
199-
{% if enable_external_network_bridge %}
203+
{% if enable_external_network_bridge and scenario.name !='entry-scale-ironic-flat-network' %}
200204
- neutron.l3_agent.external_network_bridge
201205
{% else %}
202206
- neutron.networks.flat:
207+
{% if scenario.name == 'entry-scale-ironic-flat-network' %}
208+
{% set ns.physnet_id = ns.physnet_id+1 %}
209+
provider-physical-network: physnet{{ ns.physnet_id }}
210+
{% else %}
203211
provider-physical-network: external{{ ns.extnet_id | ternary(ns.extnet_id, '') }}
204212
{% set ns.extnet_id = ns.extnet_id+1 %}
213+
{% endif %}
205214
{% endif %}
206215
{% endif %}
207216
{% if 'NEUTRON-VLAN' in network_group['component_endpoints'] %}

scripts/jenkins/ardana/ansible/roles/input_model_generator/templates/input_model/data/neutron/neutron_config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
{% if bm_info is defined %}
2626
neutron_provider_networks:
2727
{{ bm_info.neutron.provider_networks | to_nice_yaml(indent=2) | indent(10, True) }}
28+
{% if bm_info.neutron.external_networks is defined %}
2829
neutron_external_networks:
2930
{% for external_network in bm_info.neutron.external_networks %}
3031
- {{ external_network | to_nice_yaml(indent=2) | indent(12, False) }}
@@ -34,6 +35,7 @@
3435
physical_network: external{{ loop.index0 | ternary(loop.index0, '') }}
3536
{% endif %}
3637
{% endfor %}
38+
{% endif %}
3739
{% else %}
3840
neutron_provider_networks:
3941
{% set ns = namespace(mgmt_net_id=0, physnet_id=0, net_id=30, vlan_id=100+scenario.network_groups|length) %}

0 commit comments

Comments
 (0)