Skip to content
Closed
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
1 change: 1 addition & 0 deletions roles/reproducer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ None
* `cifmw_reproducer_skip_fetch_repositories`: (Bool) Skip fetching repositories from zuul var and simply copy the code from the ansible controller. Defaults to `false`.
* `cifmw_reproducer_supported_hypervisor_os`: (List) List of supported hypervisor operating systems and their minimum version.
* `cifmw_reproducer_minimum_hardware_requirements`: (Dict) Define minimum hardware requirements for specific scenarios. Example below
* `cifmw_reproducer_allow_two_ocp` (Bool) Allow to deploy OpenShift cluster just with two master node.

### Advanced parameters
Those parameters shouldn't be used, unless the user is able to understand potential issues in their environment.
Expand Down
1 change: 1 addition & 0 deletions roles/reproducer/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,4 @@ cifmw_reproducer_validate_network_host: "controller-0.utility"
cifmw_reproducer_validate_ocp_layout: true

cifmw_reproducer_ironic_node_name_prefix:
cifmw_reproducer_allow_two_ocp: false
5 changes: 3 additions & 2 deletions roles/reproducer/tasks/ocp_layout_assertions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,13 @@
- _element.disksize is defined
- _element.disksize | int > _disk
- _element.amount is defined
- _element.amount >= _min_ocp
- _element.amount >= _min_ocp or cifmw_reproducer_allow_two_ocp
quiet: true
msg: >-
Ensure you provide enough memory (>=16), cpus (>=10) and
disksize (>50) to ocp nodes, set a correct amount (>=3)
and uefi is set to true in cifmw_libvirt_manager.vms.ocp
or set local setup (cifmw_reproducer_allow_two_ocp) and
uefi is set to true in cifmw_libvirt_manager.vms.ocp

- name: Ensure we have needed data for ocp_worker if defined
when:
Expand Down
129 changes: 129 additions & 0 deletions scenarios/reproducers/va-hci-minimal-2-masters.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
---
cifmw_parent_scenario: "scenarios/reproducers/va-hci-base.yml"

# NOTE(dpawlik): Openshift can handle situations where there are only
# two masters, so there is no need to have a quorum
# NOTE: Be aware, that the vms.ocp has less RAM and vCPU set comparing to
# va-hci.yml scenario.
cifmw_reproducer_allow_two_ocp: true

# HERE if you want to override kustomization, you can uncomment this parameter
# and push the data structure you want to apply.
# cifmw_architecture_user_kustomize:
# stage_0:
# 'network-values':
# data:
# starwars: Obiwan

# HERE, if you want to stop the deployment loop at any stage, you can uncomment
# the following parameter and update the value to match the stage you want to
# reach. Known stages are:
# pre_kustomize_stage_INDEX
# pre_apply_stage_INDEX
# post_apply_stage_INDEX
#
# cifmw_deploy_architecture_stopper:

cifmw_libvirt_manager_configuration:
networks:
osp_trunk: |
<network>
<name>osp_trunk</name>
<forward mode='nat'/>
<bridge name='osp_trunk' stp='on' delay='0'/>
<dns enable="no"/>
<ip family='ipv4'
address='{{ cifmw_networking_definition.networks.ctlplane.network |
ansible.utils.nthhost(1) }}'
prefix='{{ cifmw_networking_definition.networks.ctlplane.network |
ansible.utils.ipaddr('prefix') }}'>
</ip>
</network>
ocpbm: |
<network>
<name>ocpbm</name>
<forward mode='nat'/>
<bridge name='ocpbm' stp='on' delay='0'/>
<dns enable="no"/>
<ip family='ipv4' address='192.168.111.1' prefix='24'>
</ip>
</network>
ocppr: |
<network>
<name>ocppr</name>
<forward mode='bridge'/>
<bridge name='ocppr'/>
</network>
vms:
# https://github.com/openshift-metal3/dev-scripts/blob/master/common.sh#L460
ocp:
amount: 2
admin_user: core
image_local_dir: "{{ cifmw_basedir }}/images/"
disk_file_name: "ocp_master"
disksize: "100"
extra_disks_num: 3
extra_disks_size: "50G"
cpus: 12
memory: 24
root_part_id: 4
uefi: true
nets:
- ocppr
- ocpbm
- osp_trunk
compute:
uefi: "{{ cifmw_use_uefi }}"
root_part_id: "{{ cifmw_root_partition_id }}"
amount: "{{ [cifmw_libvirt_manager_compute_amount|int, 3] | max }}"
image_url: "{{ cifmw_discovered_image_url }}"
sha256_image_name: "{{ cifmw_discovered_hash }}"
image_local_dir: "{{ cifmw_basedir }}/images/"
disk_file_name: "base-os.qcow2"
disksize: "{{ [cifmw_libvirt_manager_compute_disksize|int, 50] | max }}"
memory: "{{ [cifmw_libvirt_manager_compute_memory|int, 8] | max }}"
cpus: "{{ [cifmw_libvirt_manager_compute_cpus|int, 4] | max }}"
extra_disks_num: 3
extra_disks_size: 30G
nets:
- ocpbm
- osp_trunk
controller:
uefi: "{{ cifmw_use_uefi }}"
root_part_id: "{{ cifmw_root_partition_id }}"
image_url: "{{ cifmw_discovered_image_url }}"
sha256_image_name: "{{ cifmw_discovered_hash }}"
image_local_dir: "{{ cifmw_basedir }}/images/"
disk_file_name: "base-os.qcow2"
disksize: 50
memory: 8
cpus: 4
nets:
- ocpbm
- osp_trunk

## devscript support for OCP deploy
cifmw_devscripts_config_overrides:
fips_mode: "{{ cifmw_fips_enabled | default(false) | bool }}"

# Note: with that extra_network_names "osp_trunk", we instruct
# devscripts role to create a new network, and associate it to
# the OCP nodes. This one is a "private network", and will hold
# the VLANs used for network isolation.

# Please create a custom env file to provide:
# cifmw_devscripts_ci_token:
# cifmw_devscripts_pull_secret:

# Test Ceph file and object storage (block is enabled by default)
cifmw_ceph_daemons_layout:
rgw_enabled: true
dashboard_enabled: false
cephfs_enabled: true
ceph_nfs_enabled: false

# Vars related to update_containers cinder volume and manila share
cifmw_update_containers_cindervolumes:
- ceph
cifmw_update_containers_manilashares:
- share1
Loading