diff --git a/roles/ci_gen_kustomize_values/templates/uni02beta/edpm-nodeset-values/values.yaml.j2 b/roles/ci_gen_kustomize_values/templates/uni02beta/edpm-nodeset-values/values.yaml.j2 new file mode 100644 index 0000000000..9fbadbb696 --- /dev/null +++ b/roles/ci_gen_kustomize_values/templates/uni02beta/edpm-nodeset-values/values.yaml.j2 @@ -0,0 +1,77 @@ +--- +# source: uni02beta/edpm-nodeset-values/values.yaml.j2 +{% set _ipv = cifmw_ci_gen_kustomize_values_ip_version_var_mapping %} +{% set instances_names = [] %} +{% set _original_nodeset = (original_content.data | default({})).nodeset | default({}) %} +{% set _original_nodes = _original_nodeset.nodes | default({}) %} +{% set _original_services = _original_nodeset['services'] | default([]) %} +{% set _vm_type = (_original_nodes.keys() | first).split('-')[1] %} +{% for _inst in cifmw_networking_env_definition.instances.keys() %} +{% if _inst.startswith(_vm_type) %} +{% set _ = instances_names.append(_inst) %} +{% endif %} +{% endfor %} +data: + ssh_keys: + authorized: {{ cifmw_ci_gen_kustomize_values_ssh_authorizedkeys | b64encode }} + private: {{ cifmw_ci_gen_kustomize_values_ssh_private_key | b64encode }} + public: {{ cifmw_ci_gen_kustomize_values_ssh_public_key | b64encode }} + nodeset: + ansible: + ansibleUser: "zuul" + ansibleVars: + edpm_fips_mode: "{{ 'enabled' if cifmw_fips_enabled|default(false)|bool else 'check' }}" + timesync_ntp_servers: + - hostname: "{{ cifmw_ci_gen_kustomize_values_ntp_srv | default('pool.ntp.org') }}" + edpm_network_config_os_net_config_mappings: +{% for instance in instances_names %} + edpm-{{ instance }}: +{% if cifmw_baremetal_hosts is defined %} +{% for interface in cifmw_baremetal_hosts[instance].nics %} + nic{{ loop.index }}: "{{ interface.mac }}" +{% endfor %} +{% else %} +{% if hostvars[instance] is defined %} + nic1: "{{ hostvars[instance][_ipv.ansible_default_ipvX].macaddress }}" +{% endif %} + nic2: "{{ cifmw_networking_env_definition.instances[instance].networks.ctlplane.mac_addr }}" +{% endif %} +{% endfor %} +{% if cifmw_ci_gen_kustomize_values_sshd_ranges | default([]) | length > 0 %} + edpm_sshd_allowed_ranges: +{% for range in cifmw_ci_gen_kustomize_values_sshd_ranges %} + - "{{ range }}" +{% endfor %} +{% endif %} + nodes: +{% for instance in instances_names %} + edpm-{{ instance }}: + ansible: + host: {{ cifmw_networking_env_definition.instances[instance].networks.ctlplane[_ipv.ip_vX] }} + hostName: {{ instance }} + networks: +{% for net in cifmw_networking_env_definition.instances[instance].networks.keys() %} + - name: {{ net }} + subnetName: subnet1 + fixedIP: {{ cifmw_networking_env_definition.instances[instance].networks[net][_ipv.ip_vX] }} +{% if net is match('ctlplane') %} + defaultRoute: true +{% endif %} +{% endfor %} +{% endfor %} +{% if ('repo-setup' not in _original_services) and + ('repo-setup' in ci_gen_kustomize_edpm_nodeset_predeployed_services) %} + services: + - "repo-setup" +{% for svc in _original_services %} + - "{{ svc }}" +{% endfor %} +{% endif %} + +{% if _vm_type.startswith('compute') %} + nova: + migration: + ssh_keys: + private: {{ cifmw_ci_gen_kustomize_values_migration_priv_key | b64encode }} + public: {{ cifmw_ci_gen_kustomize_values_migration_pub_key | b64encode }} +{% endif %} diff --git a/roles/ci_gen_kustomize_values/templates/uni02beta/edpm-values/values.yaml.j2 b/roles/ci_gen_kustomize_values/templates/uni02beta/edpm-values/values.yaml.j2 new file mode 100644 index 0000000000..43a43ce61f --- /dev/null +++ b/roles/ci_gen_kustomize_values/templates/uni02beta/edpm-values/values.yaml.j2 @@ -0,0 +1,71 @@ +--- +# source: uni02beta/edpm-values/values.yaml.j2 +{% set _ipv = cifmw_ci_gen_kustomize_values_ip_version_var_mapping %} +{% set instances_names = [] %} +{% set _original_nodeset = (original_content.data | default({})).nodeset | default({}) %} +{% set _original_nodes = _original_nodeset.nodes | default({}) %} +{% set _original_services = _original_nodeset['services'] | default([]) %} +{% set _vm_type = (_original_nodes.keys() | first).split('-')[1] %} +{% for _inst in cifmw_networking_env_definition.instances.keys() %} +{% if _inst.startswith(_vm_type) %} +{% set _ = instances_names.append(_inst) %} +{% endif %} +{% endfor %} +data: + ssh_keys: + authorized: {{ cifmw_ci_gen_kustomize_values_ssh_authorizedkeys | b64encode }} + private: {{ cifmw_ci_gen_kustomize_values_ssh_private_key | b64encode }} + public: {{ cifmw_ci_gen_kustomize_values_ssh_public_key | b64encode }} +{% if _vm_type.startswith('compute') %} + nova: + migration: + ssh_keys: + private: {{ cifmw_ci_gen_kustomize_values_migration_priv_key | b64encode }} + public: {{ cifmw_ci_gen_kustomize_values_migration_pub_key | b64encode }} +{% endif %} + nodeset: + ansible: + ansibleUser: "zuul" + ansibleVars: + edpm_fips_mode: "{{ 'enabled' if cifmw_fips_enabled|default(false)|bool else 'check' }}" + timesync_ntp_servers: + - hostname: "{{ cifmw_ci_gen_kustomize_values_ntp_srv | default('pool.ntp.org') }}" + edpm_network_config_os_net_config_mappings: +{% for instance in instances_names %} + edpm-{{ instance }}: +{% if hostvars[instance] is defined %} + nic1: "{{ hostvars[instance][_ipv.ansible_default_ipvX].macaddress }}" +{% endif %} + nic2: "{{ cifmw_networking_env_definition.instances[instance].networks.ctlplane.mac_addr }}" +{% endfor %} +{% if cifmw_ci_gen_kustomize_values_sshd_ranges | default([]) | length > 0 %} + edpm_sshd_allowed_ranges: +{% for range in cifmw_ci_gen_kustomize_values_sshd_ranges %} + - "{{ range }}" +{% endfor %} +{% endif %} +{% if ('repo-setup' not in (_original_nodeset['services'] | default([]))) and + ('repo-setup' in ci_gen_kustomize_edpm_nodeset_predeployed_services) %} + services: + - "repo-setup" +{% for svc in _original_services %} + - "{{ svc }}" +{% endfor %} +{% endif %} + + nodes: +{% for instance in instances_names %} + edpm-{{ instance }}: + ansible: + host: {{ cifmw_networking_env_definition.instances[instance].networks.ctlplane[_ipv.ip_vX] }} + hostName: {{ instance }} + networks: +{% for net in cifmw_networking_env_definition.instances[instance].networks.keys() %} + - name: {{ net }} + subnetName: subnet1 +{% if net is match('ctlplane') %} + defaultRoute: true + fixedIP: {{ cifmw_networking_env_definition.instances[instance].networks.ctlplane[_ipv.ip_vX] }} +{% endif %} +{% endfor %} +{% endfor %} diff --git a/roles/ci_gen_kustomize_values/templates/uni02beta/network-values/values.yaml.j2 b/roles/ci_gen_kustomize_values/templates/uni02beta/network-values/values.yaml.j2 new file mode 100644 index 0000000000..0955d98d9a --- /dev/null +++ b/roles/ci_gen_kustomize_values/templates/uni02beta/network-values/values.yaml.j2 @@ -0,0 +1,128 @@ +--- +# source: uni02beta/network-values/values.yaml.j2 +{% set _ipv = cifmw_ci_gen_kustomize_values_ip_version_var_mapping %} +{% set ns = namespace(interfaces={}, + ocp_index=0, + lb_tools={}) %} +data: +{% for host in cifmw_networking_env_definition.instances.keys() -%} +{% if host is match('^(ocp|crc).*') %} + node_{{ ns.ocp_index }}: +{% set ns.ocp_index = ns.ocp_index+1 %} + name: {{ cifmw_networking_env_definition.instances[host]['hostname'] }} +{% for network in cifmw_networking_env_definition.instances[host]['networks'].values() %} +{% set ns.interfaces = ns.interfaces | + combine({network.network_name: (network.parent_interface | + default(network.interface_name) + ) + }, + recursive=true) %} + {{ network.network_name }}_ip: {{ network[_ipv.ip_vX] }} +{% endfor %} +{% endif %} +{% endfor %} + +{% for network in cifmw_networking_env_definition.networks.values() %} +{% set ns.lb_tools = {} %} + {{ network.network_name }}: + dnsDomain: {{ network.search_domain }} +{% if network.tools is defined and network.tools.keys() | length > 0 %} + subnets: +{% for tool in network.tools.keys() %} +{% if tool is match('.*lb$') %} +{% set _ = ns.lb_tools.update({tool: []}) %} +{% endif %} +{% endfor %} + - allocationRanges: +{% for range in network.tools.netconfig[_ipv.ipvX_ranges] %} + - end: {{ range.end }} + start: {{ range.start }} +{% endfor %} + cidr: {{ network[_ipv.network_vX] }} +{% if network[_ipv.gw_vX] is defined %} + gateway: {{ network[_ipv.gw_vX] }} +{% endif %} + name: subnet1 +{% if network.vlan_id is defined %} + vlan: {{ network.vlan_id }} +{% endif %} +{% if ns.lb_tools | length > 0 %} + lb_addresses: +{% for tool in ns.lb_tools.keys() %} +{% for lb_range in network.tools[tool][_ipv.ipvX_ranges] %} + - {{ lb_range.start }}-{{ lb_range.end }} +{% set _ = ns.lb_tools[tool].append(lb_range.start) %} +{% endfor %} + endpoint_annotations: + {{ tool }}.universe.tf/address-pool: {{ network.network_name }} + {{ tool }}.universe.tf/allow-shared-ip: {{ network.network_name }} + {{ tool }}.universe.tf/loadBalancerIPs: {{ ','.join(ns.lb_tools[tool]) }} +{% endfor %} +{% endif %} +{% endif %} + prefix-length: {{ network[_ipv.network_vX] | ansible.utils.ipaddr('prefix') }} + mtu: {{ network.mtu | default(1500) }} +{% if network.vlan_id is defined %} + vlan: {{ network.vlan_id }} +{% if ns.interfaces[network.network_name] is defined %} + iface: {{ network.network_name }} + base_iface: {{ ns.interfaces[network.network_name] }} +{% endif %} +{% else %} +{% if ns.interfaces[network.network_name] is defined %} + iface: {{ ns.interfaces[network.network_name] }} +{% endif %} +{% endif %} +{% if network.tools.multus is defined %} + net-attach-def: | + { + "cniVersion": "0.3.1", + "name": "{{ network.network_name }}", + "type": "macvlan", +{% if network.vlan_id is defined%} + "master": "{{ network.network_name }}", +{% elif network.network_name == "ctlplane" %} + "master": "ospbr", +{% else %} + "master": "{{ ns.interfaces[network.network_name] }}", +{% endif %} + "ipam": { + "type": "whereabouts", + "range": "{{ network[_ipv.network_vX] }}", + "range_start": "{{ network.tools.multus[_ipv.ipvX_ranges].0.start }}", + "range_end": "{{ network.tools.multus[_ipv.ipvX_ranges].0.end }}" + } + } +{% endif %} +{% endfor %} + + dns-resolver: + config: + server: + - "{{ cifmw_networking_env_definition.networks.ctlplane[_ipv.gw_vX] }}" + search: [] + options: + - key: server + values: + - {{ cifmw_networking_env_definition.networks.ctlplane[_ipv.gw_vX] }} +{% for nameserver in cifmw_ci_gen_kustomize_values_nameservers %} + - key: server + values: + - {{ nameserver }} +{% endfor %} + + routes: + config: [] + +# Hardcoding the last IP bit since we don't have support for endpoint_annotations in the networking_mapper output + rabbitmq: + endpoint_annotations: + metallb.universe.tf/address-pool: internalapi + metallb.universe.tf/loadBalancerIPs: {{ cifmw_networking_env_definition.networks['internalapi'][_ipv.network_vX] | ansible.utils.ipmath(85) }} + rabbitmq-cell1: + endpoint_annotations: + metallb.universe.tf/address-pool: internalapi + metallb.universe.tf/loadBalancerIPs: {{ cifmw_networking_env_definition.networks['internalapi'][_ipv.network_vX] | ansible.utils.ipmath(86) }} + + lbServiceType: LoadBalancer + storageClass: {{ cifmw_ci_gen_kustomize_values_storage_class }} diff --git a/roles/ci_gen_kustomize_values/templates/uni02beta/olm-values/values.yaml.j2 b/roles/ci_gen_kustomize_values/templates/uni02beta/olm-values/values.yaml.j2 new file mode 100644 index 0000000000..b2d79b0f57 --- /dev/null +++ b/roles/ci_gen_kustomize_values/templates/uni02beta/olm-values/values.yaml.j2 @@ -0,0 +1,14 @@ +# source: uni02beta/olm-values/values.yaml.j2 +data: + openstack-operator-image: {{ cifmw_ci_gen_kustomize_values_ooi_image | default('quay.io/openstack-k8s-operators/openstack-operator-index:latest', true) }} +{% if cifmw_ci_gen_kustomize_values_sub_channel is defined %} + openstack-operator-channel: {{ cifmw_ci_gen_kustomize_values_sub_channel }} +{% endif %} +{% if cifmw_ci_gen_kustomize_values_deployment_version is defined %} +{% if cifmw_ci_gen_kustomize_values_deployment_version not in ['v1.0.3', 'v1.0.6'] %} + openstack-operator-version: openstack-operator.{{ cifmw_ci_gen_kustomize_values_deployment_version }} +{% endif %} +{% endif %} +{% if cifmw_ci_gen_kustomize_values_installplan_approval is defined %} + openstack-operator-installplanapproval: {{ cifmw_ci_gen_kustomize_values_installplan_approval }} +{% endif %} diff --git a/roles/ci_gen_kustomize_values/templates/uni04delta-ipv6-adoption/network-values/values.yaml.j2 b/roles/ci_gen_kustomize_values/templates/uni04delta-ipv6-adoption/network-values/values.yaml.j2 index be731f91ca..5c33c206fb 100644 --- a/roles/ci_gen_kustomize_values/templates/uni04delta-ipv6-adoption/network-values/values.yaml.j2 +++ b/roles/ci_gen_kustomize_values/templates/uni04delta-ipv6-adoption/network-values/values.yaml.j2 @@ -4,17 +4,9 @@ {% set ns = namespace(interfaces={}, ocp_index=0, lb_tools={}) %} - -{% if cifmw_networking_env_definition.instances.keys() | select('match', '^ocp-worker') | list | length > 0 %} -{% set filter="^ocp-worker" %} -{% elif cifmw_networking_env_definition.instances.keys() | select('match', 'crc') | list | length > 0 %} -{% set filter="^crc" %} -{% else %} -{% set filter="^ocp" %} -{% endif %} data: {% for host in cifmw_networking_env_definition.instances.keys() -%} -{% if host is match(filter) %} +{% if host is match('^(ocp|crc).*') %} node_{{ ns.ocp_index }}: {% set ns.ocp_index = ns.ocp_index+1 %} name: {{ cifmw_networking_env_definition.instances[host]['hostname'] }} diff --git a/roles/ci_gen_kustomize_values/templates/uni04delta-ipv6/network-values/values.yaml.j2 b/roles/ci_gen_kustomize_values/templates/uni04delta-ipv6/network-values/values.yaml.j2 index 7af40fb95d..3b48d68758 100644 --- a/roles/ci_gen_kustomize_values/templates/uni04delta-ipv6/network-values/values.yaml.j2 +++ b/roles/ci_gen_kustomize_values/templates/uni04delta-ipv6/network-values/values.yaml.j2 @@ -4,17 +4,9 @@ {% set ns = namespace(interfaces={}, ocp_index=0, lb_tools={}) %} - -{% if cifmw_networking_env_definition.instances.keys() | select('match', '^ocp-worker') | list | length > 0 %} -{% set filter="^ocp-worker" %} -{% elif cifmw_networking_env_definition.instances.keys() | select('match', 'crc') | list | length > 0 %} -{% set filter="^crc" %} -{% else %} -{% set filter="^ocp" %} -{% endif %} data: {% for host in cifmw_networking_env_definition.instances.keys() -%} -{% if host is match(filter) %} +{% if host is match('^(ocp|crc).*') %} node_{{ ns.ocp_index }}: {% set ns.ocp_index = ns.ocp_index+1 %} name: {{ cifmw_networking_env_definition.instances[host]['hostname'] }}