Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add entry-scale-ironic-flat-network scenario to openstack-ardana #3104

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@ -155,6 +155,7 @@
- standard
- std-lmm
- 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 @@ -268,7 +269,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 @@ -286,6 +287,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
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
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
@@ -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
Copy link
Contributor

@stefannica stefannica Feb 11, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since you don't need SLES and RHEL computes with this input model scenario, you can delete these and replace them with a default value (1 ?) for your ironic_computes variable.

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: []
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#
# (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.
#
#
# Standard scenario service template with standalone CLM node: all services enabled
# and variable number of controller, SLES compute and RHEL compute nodes.
#
# Template parameters:
# controllers: number of controller nodes (default: 3)
# ironic_compute: number of ironic compute nodes (default: 1)
#
---

service_groups:
- name: clm
type: cluster
prefix: c0
heat_flavor_id: "{{ vcloud_flavor_name_prefix }}-compute"
member_count: '{{ (clm_model == "standalone") | ternary(1, 0) }}'
service_components:
- lifecycle-manager
- name: controller
type: cluster
prefix: c1
heat_flavor_id: "{{ vcloud_flavor_name_prefix }}-controller"
member_count: '{{ controllers|default(3) }}'
service_components:
- '{{ (clm_model == "integrated") | ternary("CLM", '') }}'
- CORE
- LMM
- DBMQ
- SWPAC
- NEUTRON
- SWOBJ
- IRONIC
- name: ironic-compute
type: resource
prefix: ir-comp
heat_flavor_id: "{{ vcloud_flavor_name_prefix }}-compute"
member_count: '{{ ironic_computes|default(1) }}'
min_count: 1
service_components:
- IRONIC-COMPUTE
26 changes: 26 additions & 0 deletions scripts/jenkins/cloud/ansible/deploy-cloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,32 @@

tasks:
- block:
- name: Remove versioned features from input model when not enabled
replace:
path: "{{ input_model_path }}/data/control_plane.yml"
regexp: '(.*{{ item }}.*)'
replace: '#\1'
when: not versioned_features[item].enabled
delegate_to: localhost
loop:
- manila
- freezer
- 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/cloud/ansible/group_vars/all/all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,3 +119,4 @@ rc_channels:
engcloud-ci-slot19: "cloud-ci-monitoring"
engcloud-ci-slot20: "cloud-ci-monitoring"
engcloud-ci-slot21: "cloud-ci-monitoring"
qe006: "cloud-qe-hlm006"
2 changes: 2 additions & 0 deletions scripts/jenkins/cloud/ansible/inventory
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
gate-pcloud001 ansible_host=10.84.99.1
gate-pcloud002 ansible_host=10.84.146.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 @@ -14,6 +15,7 @@ gate-qescale ansible_host=10.84.48.50
pcloud001 ansible_host=10.84.132.1
pcloud002 ansible_host=10.84.144.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 @@ -46,6 +46,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-' ~ cloud_env)[:max_host_prefix_len|int-1] if cloud_env is defined else 'ardana' }}"
Expand Down Expand Up @@ -140,6 +141,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 @@ -185,6 +191,10 @@ service_component_groups:
- neutron-metadata-agent
- neutron-openvswitch-agent
- neutron-lbaasv2-agent
IRONIC-COMPUTE:
- neutron-openvswitch-agent
- nova-compute-ironic
- nova-compute

disk_component_groups:
OS:
Expand Down
Loading