Merge "Removal of OpenShift deployed by TripleO support"
This commit is contained in:
commit
4c83dc4b94
|
@ -68,8 +68,6 @@ and should be executed according to the following table:
|
||||||
+----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
+----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||||
| - | scn000 | scn001 | scn002 | scn003 | scn004 | scn006 | scn007 | scn009 | scn010 | non-ha | ovh-ha |
|
| - | scn000 | scn001 | scn002 | scn003 | scn004 | scn006 | scn007 | scn009 | scn010 | non-ha | ovh-ha |
|
||||||
+================+========+========+========+========+========+========+========+========+========+========+========+
|
+================+========+========+========+========+========+========+========+========+========+========+========+
|
||||||
| openshift | | | | | | | | X | | | |
|
|
||||||
+----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
|
||||||
| keystone | X | X | X | X | X | X | X | | X | X | X |
|
| keystone | X | X | X | X | X | X | X | | X | X | X |
|
||||||
+----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
+----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||||
| glance | | rbd | swift | file | rgw | file | file | | rbd | file | file |
|
| glance | | rbd | swift | file | rgw | file | file | | rbd | file | file |
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::Services::DisableUnbound: disable-unbound.yaml
|
|
||||||
OS::TripleO::Controller::Net::SoftwareConfig: ../common/net-config-multinode.yaml
|
|
||||||
OS::TripleO::Compute::Net::SoftwareConfig: ../common/net-config-multinode.yaml
|
|
||||||
OS::TripleO::Services::OpenShift::Master: ../../deployment/openshift/openshift-master-baremetal-ansible.yaml
|
|
||||||
OS::TripleO::Services::OpenShift::Worker: ../../deployment/openshift/openshift-master-baremetal-ansible.yaml
|
|
||||||
OS::TripleO::Services::OpenShift::Infra: ../../deployment/openshift/openshift-infra-baremetal-ansible.yaml
|
|
||||||
|
|
||||||
parameter_defaults:
|
|
||||||
ControllerServices:
|
|
||||||
- OS::TripleO::Services::DisableUnbound
|
|
||||||
- OS::TripleO::Services::CACerts
|
|
||||||
- OS::TripleO::Services::ContainerImagePrepare
|
|
||||||
- OS::TripleO::Services::Docker
|
|
||||||
- OS::TripleO::Services::Kernel
|
|
||||||
- OS::TripleO::Services::Snmp
|
|
||||||
- OS::TripleO::Services::Timesync
|
|
||||||
- OS::TripleO::Services::Timezone
|
|
||||||
- OS::TripleO::Services::TripleoPackages
|
|
||||||
- OS::TripleO::Services::TripleoFirewall
|
|
||||||
- OS::TripleO::Services::Sshd
|
|
||||||
# NOTE(mandre) In all-in-one HAproxy conflicts with the one openshift deploys
|
|
||||||
# - OS::TripleO::Services::HAproxy
|
|
||||||
# - OS::TripleO::Services::Keepalived
|
|
||||||
- OS::TripleO::Services::OpenShift::Master
|
|
||||||
- OS::TripleO::Services::OpenShift::Worker
|
|
||||||
- OS::TripleO::Services::OpenShift::Infra
|
|
||||||
|
|
||||||
Debug: true
|
|
||||||
|
|
||||||
OpenShiftNodeGroupName: 'node-config-all-in-one'
|
|
||||||
|
|
||||||
OpenShiftGlobalVariables:
|
|
||||||
# NOTE(flaper87): Needed for the gate
|
|
||||||
openshift_disable_check: package_availability,package_version,disk_availability,docker_storage,memory_availability
|
|
|
@ -1,137 +0,0 @@
|
||||||
heat_template_version: rocky
|
|
||||||
|
|
||||||
description: External tasks definition for OpenShift
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
RoleNetIpMap:
|
|
||||||
default: {}
|
|
||||||
type: json
|
|
||||||
ServiceData:
|
|
||||||
default: {}
|
|
||||||
description: Dictionary packing service data
|
|
||||||
type: json
|
|
||||||
ServiceNetMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service_name -> network name. Typically set
|
|
||||||
via parameter_defaults in the resource registry. This
|
|
||||||
mapping overrides those in ServiceNetMapDefaults.
|
|
||||||
type: json
|
|
||||||
DefaultPasswords:
|
|
||||||
default: {}
|
|
||||||
type: json
|
|
||||||
RoleName:
|
|
||||||
default: ''
|
|
||||||
description: Role name on which the service is applied
|
|
||||||
type: string
|
|
||||||
RoleParameters:
|
|
||||||
default: {}
|
|
||||||
description: Parameters specific to the role
|
|
||||||
type: json
|
|
||||||
EndpointMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service endpoint -> protocol. Typically set
|
|
||||||
via parameter_defaults in the resource registry.
|
|
||||||
type: json
|
|
||||||
OpenShiftGlusterNodeVars:
|
|
||||||
default: {}
|
|
||||||
description: OpenShift node vars specific for the gluster nodes
|
|
||||||
type: json
|
|
||||||
OpenShiftGlusterDisks:
|
|
||||||
default:
|
|
||||||
- /dev/vdb
|
|
||||||
description: List of disks for openshift_glusterfs service to use
|
|
||||||
type: comma_delimited_list
|
|
||||||
tags:
|
|
||||||
- role_specific
|
|
||||||
OpenShiftNodeGroupName:
|
|
||||||
default: node-config-all-in-one
|
|
||||||
description: The group the nodes belong to.
|
|
||||||
type: string
|
|
||||||
tags:
|
|
||||||
- role_specific
|
|
||||||
ContainerOpenShiftGlusterFSImage:
|
|
||||||
description: Container image to use for GlusterFS pod
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftGlusterFSBlockImage:
|
|
||||||
description: Container image to use for glusterblock-provisioner pod
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftGlusterFSHeketiImage:
|
|
||||||
description: Container image to use for heketi pods
|
|
||||||
type: string
|
|
||||||
|
|
||||||
resources:
|
|
||||||
RoleParametersValue:
|
|
||||||
type: OS::Heat::Value
|
|
||||||
properties:
|
|
||||||
type: json
|
|
||||||
value:
|
|
||||||
map_replace:
|
|
||||||
- map_replace:
|
|
||||||
- OpenShiftGlusterDisks: OpenShiftGlusterDisks
|
|
||||||
OpenShiftNodeGroupName: OpenShiftNodeGroupName
|
|
||||||
- values: {get_param: [RoleParameters]}
|
|
||||||
- values:
|
|
||||||
OpenShiftGlusterDisks: {get_param: OpenShiftGlusterDisks}
|
|
||||||
OpenShiftNodeGroupName: {get_param: OpenShiftNodeGroupName}
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
role_data:
|
|
||||||
description: Role data for the Openshift Service
|
|
||||||
value:
|
|
||||||
# This service template essentially tags the nodes that we want
|
|
||||||
# as cns. The actual installation is performed in
|
|
||||||
# openshift-master service template.
|
|
||||||
service_name: openshift_glusterfs
|
|
||||||
upgrade_tasks: []
|
|
||||||
step_config: ''
|
|
||||||
external_deploy_tasks:
|
|
||||||
- name: openshift_cns step 2 Generate Inventory
|
|
||||||
when: step|int == 2
|
|
||||||
block:
|
|
||||||
|
|
||||||
- name: set openshift global vars fact
|
|
||||||
set_fact:
|
|
||||||
openshift_gluster_disks: {get_attr: [RoleParametersValue, value, OpenShiftGlusterDisks]}
|
|
||||||
tripleo_node_group_name: {get_attr: [RoleParametersValue, value, OpenShiftNodeGroupName]}
|
|
||||||
tripleo_role_name: {get_param: RoleName}
|
|
||||||
|
|
||||||
- name: set openshift gluster global vars fact
|
|
||||||
set_fact:
|
|
||||||
openshift_gluster_global_vars:
|
|
||||||
map_merge:
|
|
||||||
- openshift_storage_glusterfs_storageclass_default: true
|
|
||||||
openshift_hosted_registry_storage_kind: glusterfs
|
|
||||||
- {get_param: OpenShiftGlusterNodeVars}
|
|
||||||
- openshift_storage_glusterfs_image: {get_param: ContainerOpenShiftGlusterFSImage}
|
|
||||||
openshift_storage_glusterfs_block_image: {get_param: ContainerOpenShiftGlusterFSBlockImage}
|
|
||||||
openshift_storage_glusterfs_heketi_image: {get_param: ContainerOpenShiftGlusterFSHeketiImage}
|
|
||||||
|
|
||||||
- name: generate openshift gluster global vars
|
|
||||||
copy:
|
|
||||||
dest: "{{playbook_dir}}/openshift/global_gluster_vars.yml"
|
|
||||||
content: "{{openshift_gluster_global_vars|to_nice_yaml}}"
|
|
||||||
|
|
||||||
- name: generate openshift inventory for Role
|
|
||||||
copy:
|
|
||||||
dest: "{{playbook_dir}}/openshift/inventory/{{tripleo_role_name}}_openshift_glusterfs.yml"
|
|
||||||
content: |
|
|
||||||
{% if tripleo_node_group_name == "node-config-infra" or tripleo_node_group_name == 'node-config-all-in-one' -%}
|
|
||||||
glusterfs_registry:
|
|
||||||
hosts:
|
|
||||||
{% for host in groups[tripleo_role_name] | default([]) -%}
|
|
||||||
{{ hostvars.raw_get(host)['ansible_hostname'] }}:
|
|
||||||
glusterfs_ip: {{hostvars.raw_get(host)['storage_ip']}}
|
|
||||||
glusterfs_devices:
|
|
||||||
{{openshift_gluster_disks | to_nice_yaml() | indent(8) }}
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
{% if tripleo_node_group_name != "node-config-infra" or tripleo_node_group_name == 'node-config-all-in-one'-%}
|
|
||||||
glusterfs:
|
|
||||||
hosts:
|
|
||||||
{% for host in groups[tripleo_role_name] | default([]) -%}
|
|
||||||
{{ hostvars.raw_get(host)['ansible_hostname'] }}:
|
|
||||||
glusterfs_ip: {{hostvars.raw_get(host)['storage_ip']}}
|
|
||||||
glusterfs_devices:
|
|
||||||
{{openshift_gluster_disks | to_nice_yaml() | indent(8) }}
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
|
@ -1,82 +0,0 @@
|
||||||
heat_template_version: rocky
|
|
||||||
|
|
||||||
description: External tasks definition for OpenShift
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
RoleNetIpMap:
|
|
||||||
default: {}
|
|
||||||
type: json
|
|
||||||
ServiceData:
|
|
||||||
default: {}
|
|
||||||
description: Dictionary packing service data
|
|
||||||
type: json
|
|
||||||
ServiceNetMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service_name -> network name. Typically set
|
|
||||||
via parameter_defaults in the resource registry. This
|
|
||||||
mapping overrides those in ServiceNetMapDefaults.
|
|
||||||
type: json
|
|
||||||
DefaultPasswords:
|
|
||||||
default: {}
|
|
||||||
type: json
|
|
||||||
RoleName:
|
|
||||||
default: ''
|
|
||||||
description: Role name on which the service is applied
|
|
||||||
type: string
|
|
||||||
RoleParameters:
|
|
||||||
default: {}
|
|
||||||
description: Parameters specific to the role
|
|
||||||
type: json
|
|
||||||
EndpointMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service endpoint -> protocol. Typically set
|
|
||||||
via parameter_defaults in the resource registry.
|
|
||||||
type: json
|
|
||||||
# TODO(mandre) This is unused. Remove it or make it OpenShiftNodeVars
|
|
||||||
OpenShiftWorkerNodeVars:
|
|
||||||
default: {}
|
|
||||||
description: OpenShift node vars specific for the worker nodes
|
|
||||||
type: json
|
|
||||||
|
|
||||||
resources:
|
|
||||||
|
|
||||||
OpenShiftWorker:
|
|
||||||
type: ./openshift-worker-baremetal-ansible.yaml
|
|
||||||
properties:
|
|
||||||
EndpointMap: {get_param: EndpointMap}
|
|
||||||
ServiceNetMap: {get_param: ServiceNetMap}
|
|
||||||
DefaultPasswords: {get_param: DefaultPasswords}
|
|
||||||
RoleName: {get_param: RoleName}
|
|
||||||
RoleParameters: {get_param: RoleParameters}
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
role_data:
|
|
||||||
description: Role data for the Openshift Service
|
|
||||||
value:
|
|
||||||
service_name: openshift_infra
|
|
||||||
config_settings: {get_attr: [OpenShiftWorker, role_data, config_settings]}
|
|
||||||
service_config_settings:
|
|
||||||
haproxy:
|
|
||||||
tripleo::openshift_infra::haproxy_endpoints:
|
|
||||||
openshift-router-http:
|
|
||||||
base_service_name: openshift_infra
|
|
||||||
public_virtual_ip: "%{hiera('public_virtual_ip')}"
|
|
||||||
internal_ip: "%{hiera('openshift_infra_vip')}"
|
|
||||||
service_port: 80
|
|
||||||
listen_options:
|
|
||||||
balance: 'source'
|
|
||||||
member_options: [ 'check', 'inter 2000', 'rise 2', 'fall 5' ]
|
|
||||||
haproxy_listen_bind_param: ['transparent']
|
|
||||||
openshift-router-https:
|
|
||||||
base_service_name: openshift_infra
|
|
||||||
public_virtual_ip: "%{hiera('public_virtual_ip')}"
|
|
||||||
internal_ip: "%{hiera('openshift_infra_vip')}"
|
|
||||||
service_port: 443
|
|
||||||
listen_options:
|
|
||||||
balance: 'source'
|
|
||||||
member_options: [ 'check', 'inter 2000', 'rise 2', 'fall 5' ]
|
|
||||||
haproxy_listen_bind_param: ['transparent']
|
|
||||||
upgrade_tasks: []
|
|
||||||
step_config: ''
|
|
||||||
external_deploy_tasks:
|
|
||||||
- get_attr: [OpenShiftWorker, role_data, external_deploy_tasks]
|
|
|
@ -1,635 +0,0 @@
|
||||||
heat_template_version: rocky
|
|
||||||
|
|
||||||
description: External tasks definition for OpenShift
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
StackAction:
|
|
||||||
type: string
|
|
||||||
description: >
|
|
||||||
Heat action on performed top-level stack. Note StackUpdateType is
|
|
||||||
set to UPGRADE when a major-version upgrade is in progress.
|
|
||||||
constraints:
|
|
||||||
- allowed_values: ['CREATE', 'UPDATE']
|
|
||||||
RoleNetIpMap:
|
|
||||||
default: {}
|
|
||||||
type: json
|
|
||||||
ServiceData:
|
|
||||||
default: {}
|
|
||||||
description: Dictionary packing service data
|
|
||||||
type: json
|
|
||||||
ServiceNetMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service_name -> network name. Typically set
|
|
||||||
via parameter_defaults in the resource registry. This
|
|
||||||
mapping overrides those in ServiceNetMapDefaults.
|
|
||||||
type: json
|
|
||||||
DefaultPasswords:
|
|
||||||
default: {}
|
|
||||||
type: json
|
|
||||||
RoleName:
|
|
||||||
default: ''
|
|
||||||
description: Role name on which the service is applied
|
|
||||||
type: string
|
|
||||||
RoleParameters:
|
|
||||||
default: {}
|
|
||||||
description: Parameters specific to the role
|
|
||||||
type: json
|
|
||||||
EndpointMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service endpoint -> protocol. Typically set
|
|
||||||
via parameter_defaults in the resource registry.
|
|
||||||
type: json
|
|
||||||
OpenShiftAnsiblePath:
|
|
||||||
default: '/usr/share/ansible/openshift-ansible/'
|
|
||||||
description: Path to OpenShift-Ansible.
|
|
||||||
type: string
|
|
||||||
OpenShiftGlobalVariables:
|
|
||||||
default: {}
|
|
||||||
description: Global Ansible variables for OpenShift-Ansible installer.
|
|
||||||
type: json
|
|
||||||
OpenShiftMasterNodeVars:
|
|
||||||
default: {}
|
|
||||||
description: OpenShift node vars specific for the master nodes
|
|
||||||
type: json
|
|
||||||
OpenShiftNodeGroupName:
|
|
||||||
default: node-config-all-in-one
|
|
||||||
description: The group the nodes belong to.
|
|
||||||
type: string
|
|
||||||
tags:
|
|
||||||
- role_specific
|
|
||||||
DockerInsecureRegistryAddress:
|
|
||||||
description: Optional. The IP Address and Port of an insecure docker
|
|
||||||
namespace that will be configured in /etc/sysconfig/docker.
|
|
||||||
The value can be multiple addresses separated by commas.
|
|
||||||
type: comma_delimited_list
|
|
||||||
default: []
|
|
||||||
ContainerOpenShiftAnsibleImage:
|
|
||||||
description: Openshift-ansible container image.
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftControlPlaneImage:
|
|
||||||
description: Control Plane container image for openshift.
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftCockpitImage:
|
|
||||||
description: Cockpit container image for openshift
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftNodeImage:
|
|
||||||
description: Node container image for openshift
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftEtcdImage:
|
|
||||||
description: etcd container image for openshift
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftAnsibleServiceBrokerImage:
|
|
||||||
description: Ansible Service Broker image for openshift
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftConsoleImage:
|
|
||||||
description: console container image for openshift
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftPrometheusNodeExporterImage:
|
|
||||||
description: prometheus node exporter container image for openshift
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftKubeRbacProxyImage:
|
|
||||||
description: kube rbac proxy container image for openshift
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftClusterMonitorOperatorImage:
|
|
||||||
description: cluster monitoring operator container image for openshift
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftConfigmapReloaderImage:
|
|
||||||
description: configmap reloader container image for openshift
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftPrometheusOperatorImage:
|
|
||||||
description: prometheus operator container image for openshift
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftPrometheusConfigReloaderImage:
|
|
||||||
description: prometheus config reloader container image for openshift
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftPrometheusImage:
|
|
||||||
description: prometheus container image for openshift
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftPrometheusAlertmanagerImage:
|
|
||||||
description: prometheus alertmanager container image for openshift
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftOauthProxyImage:
|
|
||||||
description: oauth proxy container image for openshift
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftKubeStateMetricsImage:
|
|
||||||
description: kube state metrics container image for openshift
|
|
||||||
type: string
|
|
||||||
ContainerOpenShiftGrafanaImage:
|
|
||||||
description: grafana container image for openshift
|
|
||||||
type: string
|
|
||||||
|
|
||||||
resources:
|
|
||||||
|
|
||||||
OpenShiftNode:
|
|
||||||
type: ./openshift-node-baremetal-ansible.yaml
|
|
||||||
properties:
|
|
||||||
EndpointMap: {get_param: EndpointMap}
|
|
||||||
ServiceNetMap: {get_param: ServiceNetMap}
|
|
||||||
DefaultPasswords: {get_param: DefaultPasswords}
|
|
||||||
RoleName: {get_param: RoleName}
|
|
||||||
RoleParameters: {get_param: RoleParameters}
|
|
||||||
|
|
||||||
RoleParametersValue:
|
|
||||||
type: OS::Heat::Value
|
|
||||||
properties:
|
|
||||||
type: json
|
|
||||||
value:
|
|
||||||
map_replace:
|
|
||||||
- map_replace:
|
|
||||||
- OpenShiftNodeGroupName: OpenShiftNodeGroupName
|
|
||||||
- values: {get_param: [RoleParameters]}
|
|
||||||
- values:
|
|
||||||
OpenShiftNodeGroupName: {get_param: OpenShiftNodeGroupName}
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
role_data:
|
|
||||||
description: Role data for the Openshift Service
|
|
||||||
value:
|
|
||||||
service_name: openshift_master
|
|
||||||
config_settings:
|
|
||||||
map_merge:
|
|
||||||
- get_attr: [OpenShiftNode, role_data, config_settings]
|
|
||||||
- tripleo::keepalived::virtual_router_id_base: 100
|
|
||||||
upgrade_tasks: []
|
|
||||||
step_config: ''
|
|
||||||
external_deploy_tasks:
|
|
||||||
list_concat:
|
|
||||||
- get_attr: [OpenShiftNode, role_data, external_deploy_tasks]
|
|
||||||
- - name: openshift_master step 1
|
|
||||||
when: step|int == 1
|
|
||||||
tags: openshift
|
|
||||||
become: true
|
|
||||||
block:
|
|
||||||
# NOTE(mandre) Remove inventory directory as it may contain
|
|
||||||
# obsolete files that can mess up the current deployment
|
|
||||||
- name: remove inventory directory if it exists
|
|
||||||
file:
|
|
||||||
path: "{{playbook_dir}}/openshift/inventory"
|
|
||||||
state: absent
|
|
||||||
- name: remove global_gluster_vars
|
|
||||||
file:
|
|
||||||
path: "{{playbook_dir}}/openshift/global_gluster_vars.yml"
|
|
||||||
state: absent
|
|
||||||
- name: create openshift inventory directory
|
|
||||||
file:
|
|
||||||
path: "{{playbook_dir}}/openshift/inventory"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ ansible_user }}"
|
|
||||||
|
|
||||||
- name: openshift_master step 3
|
|
||||||
when: step|int == 3
|
|
||||||
tags: openshift
|
|
||||||
block:
|
|
||||||
- name: set role facts for generating inventory
|
|
||||||
set_fact:
|
|
||||||
tripleo_role_name: {get_param: RoleName}
|
|
||||||
tripleo_node_group_name: {get_attr: [RoleParametersValue, value, OpenShiftNodeGroupName]}
|
|
||||||
|
|
||||||
- name: set openshift global vars fact
|
|
||||||
set_fact:
|
|
||||||
openshift_global_vars:
|
|
||||||
map_merge:
|
|
||||||
- openshift_release: '3.11'
|
|
||||||
openshift_version: '3.11'
|
|
||||||
openshift_image_tag:
|
|
||||||
yaql:
|
|
||||||
expression:
|
|
||||||
$.data.image.rightSplit(":", 1)[1]
|
|
||||||
data:
|
|
||||||
image: {get_param: ContainerOpenShiftControlPlaneImage}
|
|
||||||
openshift_deployment_type: "{{tripleo_openshift_deployment_type}}"
|
|
||||||
openshift_use_external_openvswitch: true
|
|
||||||
openshift_master_bootstrap_auto_approve: true
|
|
||||||
# Local Registry
|
|
||||||
openshift_docker_insecure_registries: {get_param: DockerInsecureRegistryAddress}
|
|
||||||
oreg_url:
|
|
||||||
yaql:
|
|
||||||
expression:
|
|
||||||
$.data.image.replace("-control-plane:", "-${component}:")
|
|
||||||
data:
|
|
||||||
image: {get_param: ContainerOpenShiftControlPlaneImage}
|
|
||||||
etcd_image: {get_param: ContainerOpenShiftEtcdImage}
|
|
||||||
osm_etcd_image: {get_param: ContainerOpenShiftEtcdImage}
|
|
||||||
osm_image: {get_param: ContainerOpenShiftControlPlaneImage}
|
|
||||||
osn_image: {get_param: ContainerOpenShiftNodeImage}
|
|
||||||
openshift_cockpit_deployer_image: {get_param: ContainerOpenShiftCockpitImage}
|
|
||||||
ansible_service_broker_image: {get_param: ContainerOpenShiftAnsibleServiceBrokerImage}
|
|
||||||
openshift_console_image_name: {get_param: ContainerOpenShiftConsoleImage}
|
|
||||||
openshift_cluster_monitoring_operator_image: {get_param: ContainerOpenShiftClusterMonitorOperatorImage}
|
|
||||||
openshift_cluster_monitoring_operator_node_exporter_repo:
|
|
||||||
yaql:
|
|
||||||
expression:
|
|
||||||
$.data.image.rightSplit(":", 1)[0]
|
|
||||||
data:
|
|
||||||
image: {get_param: ContainerOpenShiftPrometheusNodeExporterImage}
|
|
||||||
openshift_cluster_monitoring_operator_kube_rbac_proxy_image:
|
|
||||||
yaql:
|
|
||||||
expression:
|
|
||||||
$.data.image.rightSplit(":", 1)[0]
|
|
||||||
data:
|
|
||||||
image: {get_param: ContainerOpenShiftKubeRbacProxyImage}
|
|
||||||
openshift_cluster_monitoring_operator_configmap_reloader_repo:
|
|
||||||
yaql:
|
|
||||||
expression:
|
|
||||||
$.data.image.rightSplit(":", 1)[0]
|
|
||||||
data:
|
|
||||||
image: {get_param: ContainerOpenShiftConfigmapReloaderImage}
|
|
||||||
openshift_cluster_monitoring_operator_prometheus_operator_repo:
|
|
||||||
yaql:
|
|
||||||
expression:
|
|
||||||
$.data.image.rightSplit(":", 1)[0]
|
|
||||||
data:
|
|
||||||
image: {get_param: ContainerOpenShiftPrometheusOperatorImage}
|
|
||||||
openshift_cluster_monitoring_operator_prometheus_reloader_repo:
|
|
||||||
yaql:
|
|
||||||
expression:
|
|
||||||
$.data.image.rightSplit(":", 1)[0]
|
|
||||||
data:
|
|
||||||
image: {get_param: ContainerOpenShiftPrometheusConfigReloaderImage}
|
|
||||||
openshift_cluster_monitoring_operator_prometheus_repo:
|
|
||||||
yaql:
|
|
||||||
expression:
|
|
||||||
$.data.image.rightSplit(":", 1)[0]
|
|
||||||
data:
|
|
||||||
image: {get_param: ContainerOpenShiftPrometheusImage}
|
|
||||||
openshift_cluster_monitoring_operator_alertmanager_repo:
|
|
||||||
yaql:
|
|
||||||
expression:
|
|
||||||
$.data.image.rightSplit(":", 1)[0]
|
|
||||||
data:
|
|
||||||
image: {get_param: ContainerOpenShiftPrometheusAlertmanagerImage}
|
|
||||||
openshift_cluster_monitoring_operator_proxy_image:
|
|
||||||
yaql:
|
|
||||||
expression:
|
|
||||||
$.data.image.rightSplit(":", 1)[0]
|
|
||||||
data:
|
|
||||||
image: {get_param: ContainerOpenShiftOauthProxyImage}
|
|
||||||
openshift_cluster_monitoring_operator_kube_state_metrics_image:
|
|
||||||
yaql:
|
|
||||||
expression:
|
|
||||||
$.data.image.rightSplit(":", 1)[0]
|
|
||||||
data:
|
|
||||||
image: {get_param: ContainerOpenShiftKubeStateMetricsImage}
|
|
||||||
openshift_cluster_monitoring_operator_grafana_image:
|
|
||||||
yaql:
|
|
||||||
expression:
|
|
||||||
$.data.image.rightSplit(":", 1)[0]
|
|
||||||
data:
|
|
||||||
image: {get_param: ContainerOpenShiftGrafanaImage}
|
|
||||||
- {get_param: OpenShiftGlobalVariables}
|
|
||||||
tripleo_stack_action: {get_param: StackAction}
|
|
||||||
openshift_master_node_vars: {get_param: OpenShiftMasterNodeVars}
|
|
||||||
openshift_master_cluster_vars:
|
|
||||||
openshift_master_cluster_hostname: {get_param: [EndpointMap, OpenshiftInternal, host]}
|
|
||||||
openshift_master_cluster_public_hostname: {get_param: [EndpointMap, OpenshiftPublic, host]}
|
|
||||||
|
|
||||||
- name: generate openshift inventory for openshift_master service
|
|
||||||
copy:
|
|
||||||
dest: "{{playbook_dir}}/openshift/inventory/{{tripleo_role_name}}_openshift_master.yml"
|
|
||||||
content: |
|
|
||||||
{% if (role_nodes[tripleo_role_name] + new_role_nodes[tripleo_role_name]) | count > 0%}
|
|
||||||
all:
|
|
||||||
children:
|
|
||||||
masters:
|
|
||||||
hosts:
|
|
||||||
{% for host in role_nodes[tripleo_role_name] -%}
|
|
||||||
{{host.hostname}}:
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
vars:
|
|
||||||
{{openshift_master_node_vars | to_nice_yaml() | indent(6)}}
|
|
||||||
|
|
||||||
{% if new_role_nodes[tripleo_role_name] | count > 0 -%}
|
|
||||||
new_masters:
|
|
||||||
hosts:
|
|
||||||
{% for host in new_role_nodes[tripleo_role_name] -%}
|
|
||||||
{{host.hostname}}:
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
vars:
|
|
||||||
{{openshift_master_node_vars | to_nice_yaml() | indent(6)}}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
- name: generate openshift inventory for groups
|
|
||||||
copy:
|
|
||||||
dest: "{{playbook_dir}}/openshift/inventory/groups.yml"
|
|
||||||
content: |
|
|
||||||
all:
|
|
||||||
children:
|
|
||||||
etcd:
|
|
||||||
children:
|
|
||||||
masters: {}
|
|
||||||
|
|
||||||
OSEv3:
|
|
||||||
children:
|
|
||||||
masters: {}
|
|
||||||
etcd: {}
|
|
||||||
nodes: {}
|
|
||||||
new_masters: {}
|
|
||||||
new_etcd: {}
|
|
||||||
new_nodes: {}
|
|
||||||
{% if groups['openshift_glusterfs'] | default([]) -%}
|
|
||||||
glusterfs: {}
|
|
||||||
glusterfs_registry: {}
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
- name: combine cluster setting
|
|
||||||
set_fact:
|
|
||||||
openshift_global_vars: "{{ openshift_master_cluster_vars | combine(openshift_global_vars) }}"
|
|
||||||
when: 'tripleo_node_group_name != "node-config-all-in-one"'
|
|
||||||
|
|
||||||
- name: generate openshift global vars
|
|
||||||
copy:
|
|
||||||
dest: "{{playbook_dir}}/openshift/global_vars.yml"
|
|
||||||
content: "{{openshift_global_vars|to_nice_yaml}}"
|
|
||||||
|
|
||||||
- name: set openshift ansible path
|
|
||||||
set_fact:
|
|
||||||
openshift_ansible_path: {get_param: OpenShiftAnsiblePath}
|
|
||||||
|
|
||||||
- name: set openshift ansible playbook paths
|
|
||||||
set_fact:
|
|
||||||
openshift_ansible_deploy_playbook_path: "{{ openshift_ansible_path }}/playbooks/deploy_cluster.yml"
|
|
||||||
openshift_prerequisites_playbook_path: "{{ openshift_ansible_path }}/playbooks/prerequisites.yml"
|
|
||||||
openshift_master_scaleup_playbook_path: "{{ openshift_ansible_path }}/playbooks/openshift-master/scaleup.yml"
|
|
||||||
openshift_etcd_scaleup_playbook_path: "{{ openshift_ansible_path }}/playbooks/openshift-etcd/scaleup.yml"
|
|
||||||
openshift_worker_scaleup_playbook_path: "{{ openshift_ansible_path }}/playbooks/openshift-node/scaleup.yml"
|
|
||||||
openshift_ansible_image: {get_param: ContainerOpenShiftAnsibleImage}
|
|
||||||
|
|
||||||
# NOTE(flaper87): We'll use openshift_ansible_scaleup_playbook_path
|
|
||||||
# if there are new master or new worker nodes and we are doing an
|
|
||||||
# UPDATE. For all the other cases, we shall use the deploy playbook.
|
|
||||||
- name: generate openshift playbook
|
|
||||||
copy:
|
|
||||||
dest: "{{playbook_dir}}/openshift/playbook.yml"
|
|
||||||
content: |
|
|
||||||
# NOTE(flaper87): The NetworkManager setup has been moved
|
|
||||||
# into openshift-ansible but it's not been released yet.
|
|
||||||
# This code will go away as soon as an rpm with the required
|
|
||||||
# roles hits the repo.
|
|
||||||
- name: OpenShift networking preparation
|
|
||||||
hosts: all
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
- name: install NetworkManager
|
|
||||||
package:
|
|
||||||
name: NetworkManager
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: generate nm dispatcher script
|
|
||||||
copy:
|
|
||||||
dest: "/etc/NetworkManager/dispatcher.d/99-os-net-config-origin-dns.sh"
|
|
||||||
owner: root
|
|
||||||
mode: 0755
|
|
||||||
content: >-
|
|
||||||
#!/bin/bash -x
|
|
||||||
|
|
||||||
DEVS=$(nmcli device | grep unmanaged | awk '{print $1}')
|
|
||||||
|
|
||||||
for dev in $DEVS;
|
|
||||||
do
|
|
||||||
temp="${dev%\"}"
|
|
||||||
temp="${temp#\"}"
|
|
||||||
export DEVICE_IFACE=$temp
|
|
||||||
|
|
||||||
/etc/NetworkManager/dispatcher.d/99-origin-dns.sh $DEVICE_IFACE up
|
|
||||||
done
|
|
||||||
|
|
||||||
- name: Enable NetworkManager
|
|
||||||
service:
|
|
||||||
name: NetworkManager
|
|
||||||
state: restarted
|
|
||||||
enabled: yes
|
|
||||||
|
|
||||||
|
|
||||||
{% if tripleo_stack_action == 'CREATE' %}
|
|
||||||
# Prerequisites playbook is explicitly needed only for
|
|
||||||
# initial install
|
|
||||||
- import_playbook: "{{openshift_prerequisites_playbook_path}}"
|
|
||||||
- import_playbook: "{{openshift_ansible_deploy_playbook_path}}"
|
|
||||||
|
|
||||||
{% elif tripleo_stack_action == 'UPDATE' %}
|
|
||||||
{% if has_new_nodes %}
|
|
||||||
- name: Restart dnsmasq to pick up new nodes
|
|
||||||
hosts: all
|
|
||||||
tasks:
|
|
||||||
- name: Restart dnsmasq
|
|
||||||
service:
|
|
||||||
name: dnsmasq
|
|
||||||
state: restarted
|
|
||||||
{% if new_role_nodes[tripleo_role_name] | count > 0 %}
|
|
||||||
# Scale up nodes (including masters)
|
|
||||||
- import_playbook: "{{openshift_master_scaleup_playbook_path}}"
|
|
||||||
{% else %}
|
|
||||||
# Scale up workers/infra nodes
|
|
||||||
- import_playbook: "{{openshift_worker_scaleup_playbook_path}}"
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
- name: set openshift command
|
|
||||||
set_fact:
|
|
||||||
openshift_command: >-
|
|
||||||
{%- if openshift_command is defined -%}
|
|
||||||
{{openshift_command}}
|
|
||||||
{%- else -%}
|
|
||||||
sudo /usr/bin/tripleo-deploy-openshift
|
|
||||||
--config-download-dir {{playbook_dir}}
|
|
||||||
--image {{openshift_ansible_image}}
|
|
||||||
{%- endif -%}
|
|
||||||
- name: print openshift command
|
|
||||||
debug:
|
|
||||||
var: openshift_command
|
|
||||||
- name: run openshift (immediate log at {{playbook_dir}}/openshift/playbook.log)
|
|
||||||
shell: |
|
|
||||||
{{openshift_command}} 2>&1 | tee {{playbook_dir}}/openshift/playbook.log
|
|
||||||
exit ${PIPESTATUS[0]}
|
|
||||||
|
|
||||||
# NOTE(mandre) Scale up the etcd node in a separate ansible run
|
|
||||||
# because osa expects a different inventory for etcd scale up.
|
|
||||||
# The newly added nodes are not new anymore from the point of
|
|
||||||
# view of osa and need to be moved from new_masters and
|
|
||||||
# new_nodes group to masters and nodes groups respectively. In
|
|
||||||
# addition they need to be added to new_etcd groups.
|
|
||||||
- when: tripleo_stack_action == 'UPDATE' and new_role_nodes[tripleo_role_name] | count > 0
|
|
||||||
block:
|
|
||||||
|
|
||||||
- name: generate updated openshift inventory for openshift_master service
|
|
||||||
copy:
|
|
||||||
dest: "{{playbook_dir}}/openshift/inventory/{{tripleo_role_name}}_openshift_master.yml"
|
|
||||||
content: |
|
|
||||||
{% if (role_nodes[tripleo_role_name] + new_role_nodes[tripleo_role_name]) | count > 0%}
|
|
||||||
all:
|
|
||||||
children:
|
|
||||||
masters:
|
|
||||||
hosts:
|
|
||||||
{% for host in (role_nodes[tripleo_role_name] + new_role_nodes[tripleo_role_name]) -%}
|
|
||||||
{{host.hostname}}:
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
vars:
|
|
||||||
{{openshift_master_node_vars | to_nice_yaml() | indent(6)}}
|
|
||||||
|
|
||||||
{% if new_role_nodes[tripleo_role_name] | count > 0 -%}
|
|
||||||
new_etcd:
|
|
||||||
hosts:
|
|
||||||
{% for host in new_role_nodes[tripleo_role_name] -%}
|
|
||||||
{{host.hostname}}:
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
vars:
|
|
||||||
{{openshift_master_node_vars | to_nice_yaml() | indent(6)}}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
- name: generate updated openshift inventory for {{tripleo_role_name}} role groups
|
|
||||||
copy:
|
|
||||||
dest: "{{playbook_dir}}/openshift/inventory/{{tripleo_role_name}}_groups.yml"
|
|
||||||
content: |
|
|
||||||
{% if (role_nodes[tripleo_role_name] + new_role_nodes[tripleo_role_name]) | count > 0%}
|
|
||||||
all:
|
|
||||||
children:
|
|
||||||
nodes:
|
|
||||||
hosts:
|
|
||||||
{% for host in (role_nodes[tripleo_role_name] + new_role_nodes[tripleo_role_name]) -%}
|
|
||||||
{{host.hostname}}:
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
- name: generate openshift playbook for etcd scaleup
|
|
||||||
copy:
|
|
||||||
dest: "{{playbook_dir}}/openshift/playbook.yml"
|
|
||||||
content: |
|
|
||||||
# Scale up etcd nodes
|
|
||||||
- import_playbook: "{{openshift_etcd_scaleup_playbook_path}}"
|
|
||||||
|
|
||||||
- name: print openshift command
|
|
||||||
debug:
|
|
||||||
var: openshift_command
|
|
||||||
- name: run openshift (immediate log at {{playbook_dir}}/openshift/playbook-etcd.log)
|
|
||||||
shell: |
|
|
||||||
{{openshift_command}} 2>&1 | tee {{playbook_dir}}/openshift/playbook-etcd.log
|
|
||||||
exit ${PIPESTATUS[0]}
|
|
||||||
|
|
||||||
- name: generate post-deployment inventory for master nodes
|
|
||||||
copy:
|
|
||||||
dest: "{{playbook_dir}}/openshift/inventory/{{tripleo_role_name}}_openshift_master.yml"
|
|
||||||
content: |
|
|
||||||
{% if (role_nodes[tripleo_role_name] + new_role_nodes[tripleo_role_name]) | count > 0%}
|
|
||||||
all:
|
|
||||||
children:
|
|
||||||
masters:
|
|
||||||
hosts:
|
|
||||||
{% for host in (role_nodes[tripleo_role_name] + new_role_nodes[tripleo_role_name]) -%}
|
|
||||||
{{host.hostname}}:
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
vars:
|
|
||||||
{{openshift_master_node_vars | to_nice_yaml() | indent(6)}}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
- when: tripleo_stack_action == 'UPDATE'
|
|
||||||
block:
|
|
||||||
- name: generate openshift playbook
|
|
||||||
copy:
|
|
||||||
dest: "{{playbook_dir}}/openshift/playbook.yml"
|
|
||||||
content: |
|
|
||||||
# Re-run the deploy playbook to apply potential change
|
|
||||||
# changes to existing nodes
|
|
||||||
- import_playbook: "{{openshift_ansible_deploy_playbook_path}}"
|
|
||||||
- name: Restart masters
|
|
||||||
hosts: masters
|
|
||||||
serial: 1
|
|
||||||
tasks:
|
|
||||||
- import_role:
|
|
||||||
name: "{{ openshift_ansible_path }}/roles/openshift_control_plane"
|
|
||||||
tasks_from: restart.yml
|
|
||||||
|
|
||||||
- name: print openshift command
|
|
||||||
debug:
|
|
||||||
var: openshift_command
|
|
||||||
- name: run openshift (immediate log at {{playbook_dir}}/openshift/playbook.log)
|
|
||||||
shell: |
|
|
||||||
{{openshift_command}} 2>&1 | tee {{playbook_dir}}/openshift/playbook.log
|
|
||||||
exit ${PIPESTATUS[0]}
|
|
||||||
|
|
||||||
- name: generate openshift validation playbook
|
|
||||||
copy:
|
|
||||||
dest: "{{playbook_dir}}/openshift/playbook.yml"
|
|
||||||
content: |
|
|
||||||
|
|
||||||
- name: Simple validation OpenShift is actually deployed
|
|
||||||
hosts: masters
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
- name: Check oc status
|
|
||||||
command: oc status --suggest
|
|
||||||
register: oc_status
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Register failure if oc status fails
|
|
||||||
command: echo true
|
|
||||||
register: oc_status_failed
|
|
||||||
when: '"fail" in oc_status.stdout'
|
|
||||||
|
|
||||||
- debug:
|
|
||||||
var: oc_status.stdout_lines
|
|
||||||
|
|
||||||
- name: Check oc get dc/router
|
|
||||||
command: "oc get dc/router -o jsonpath='{.status.readyReplicas}'"
|
|
||||||
register: oc_get_router
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Register failure if oc get dc/router fails
|
|
||||||
command: echo true
|
|
||||||
register: oc_get_router_failed
|
|
||||||
when: 'oc_get_router.stdout|int < 1'
|
|
||||||
|
|
||||||
- debug:
|
|
||||||
var: oc_get_router.stdout
|
|
||||||
|
|
||||||
- name: Check oc get dc/docker-registry
|
|
||||||
command: "oc get dc/docker-registry -o jsonpath='{.status.readyReplicas}'"
|
|
||||||
register: oc_get_registry
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Register failure if oc get dc/docker-registry fails
|
|
||||||
command: echo true
|
|
||||||
register: oc_get_registry_failed
|
|
||||||
when: 'oc_get_registry.stdout|int < 1'
|
|
||||||
|
|
||||||
- debug:
|
|
||||||
var: oc_get_registry.stdout
|
|
||||||
|
|
||||||
- name: Check oc get nodes
|
|
||||||
command: oc get nodes --all-namespaces
|
|
||||||
register: oc_get_nodes
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Register failure if oc get nodes fails
|
|
||||||
command: echo true
|
|
||||||
register: oc_get_nodes_failed
|
|
||||||
when: '"NotReady" in oc_get_nodes.stdout'
|
|
||||||
|
|
||||||
- debug:
|
|
||||||
var: oc_get_nodes.stdout_lines
|
|
||||||
|
|
||||||
- name: Fail the playbook if any validations failed
|
|
||||||
fail:
|
|
||||||
when: >
|
|
||||||
oc_status_failed.changed or
|
|
||||||
oc_get_nodes_failed.changed or
|
|
||||||
oc_get_router_failed.changed or
|
|
||||||
oc_get_registry_failed.changed
|
|
||||||
|
|
||||||
- name: print openshift command
|
|
||||||
debug:
|
|
||||||
var: openshift_command
|
|
||||||
- name: run openshift (immediate log at {{playbook_dir}}/openshift/playbook-validation.log)
|
|
||||||
shell: |
|
|
||||||
{{openshift_command}} 2>&1 | tee {{playbook_dir}}/openshift/playbook-validation.log
|
|
||||||
exit ${PIPESTATUS[0]}
|
|
|
@ -1,195 +0,0 @@
|
||||||
heat_template_version: rocky
|
|
||||||
|
|
||||||
description: External tasks definition for OpenShift
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
StackAction:
|
|
||||||
type: string
|
|
||||||
description: >
|
|
||||||
Heat action on performed top-level stack. Note StackUpdateType is
|
|
||||||
set to UPGRADE when a major-version upgrade is in progress.
|
|
||||||
constraints:
|
|
||||||
- allowed_values: ['CREATE', 'UPDATE']
|
|
||||||
RoleNetIpMap:
|
|
||||||
default: {}
|
|
||||||
type: json
|
|
||||||
ServiceData:
|
|
||||||
default: {}
|
|
||||||
description: Dictionary packing service data
|
|
||||||
type: json
|
|
||||||
ServiceNetMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service_name -> network name. Typically set
|
|
||||||
via parameter_defaults in the resource registry. This
|
|
||||||
mapping overrides those in ServiceNetMapDefaults.
|
|
||||||
type: json
|
|
||||||
DefaultPasswords:
|
|
||||||
default: {}
|
|
||||||
type: json
|
|
||||||
RoleName:
|
|
||||||
default: ''
|
|
||||||
description: Role name on which the service is applied
|
|
||||||
type: string
|
|
||||||
RoleParameters:
|
|
||||||
default: {}
|
|
||||||
description: Parameters specific to the role
|
|
||||||
type: json
|
|
||||||
EndpointMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service endpoint -> protocol. Typically set
|
|
||||||
via parameter_defaults in the resource registry.
|
|
||||||
type: json
|
|
||||||
OpenShiftNodeGroupName:
|
|
||||||
default: node-config-all-in-one
|
|
||||||
description: The group the nodes belong to.
|
|
||||||
type: string
|
|
||||||
tags:
|
|
||||||
- role_specific
|
|
||||||
OpenShiftDeploymentType:
|
|
||||||
default: 'origin'
|
|
||||||
description: The OpenShift-Ansible deployment type.
|
|
||||||
type: string
|
|
||||||
constraints:
|
|
||||||
- allowed_values: ['origin', 'openshift-enterprise']
|
|
||||||
|
|
||||||
resources:
|
|
||||||
RoleParametersValue:
|
|
||||||
type: OS::Heat::Value
|
|
||||||
properties:
|
|
||||||
type: json
|
|
||||||
value:
|
|
||||||
map_replace:
|
|
||||||
- map_replace:
|
|
||||||
- OpenShiftNodeGroupName: OpenShiftNodeGroupName
|
|
||||||
- values: {get_param: [RoleParameters]}
|
|
||||||
- values:
|
|
||||||
OpenShiftNodeGroupName: {get_param: OpenShiftNodeGroupName}
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
role_data:
|
|
||||||
description: Role data for the Openshift Service
|
|
||||||
value:
|
|
||||||
service_name: openshift_node
|
|
||||||
config_settings: {}
|
|
||||||
upgrade_tasks: []
|
|
||||||
step_config: ''
|
|
||||||
external_deploy_tasks:
|
|
||||||
- name: openshift_node step 2
|
|
||||||
when: step|int == 2
|
|
||||||
tags: openshift
|
|
||||||
block:
|
|
||||||
- name: set role facts for generating inventory
|
|
||||||
set_fact:
|
|
||||||
tripleo_role_name: {get_param: RoleName}
|
|
||||||
tripleo_stack_action: {get_param: StackAction}
|
|
||||||
tripleo_node_group_name: {get_attr: [RoleParametersValue, value, OpenShiftNodeGroupName]}
|
|
||||||
openshift_master_network: {get_param: [ServiceNetMap, OpenshiftMasterNetwork]}
|
|
||||||
tripleo_openshift_deployment_type: {get_param: OpenShiftDeploymentType}
|
|
||||||
|
|
||||||
- set_fact:
|
|
||||||
tripleo_openshift_service_type: >-
|
|
||||||
{%- if tripleo_openshift_deployment_type == 'origin' -%}
|
|
||||||
origin
|
|
||||||
{%- else -%}
|
|
||||||
atomic-openshift
|
|
||||||
{%- endif -%}
|
|
||||||
|
|
||||||
# NOTE(flaper87): Check if the node service is running in the
|
|
||||||
# openshift nodes so we can flag the node as new later on.
|
|
||||||
- name: Check if node service is running
|
|
||||||
command: "systemctl is-active --quiet {{tripleo_openshift_service_type}}-node"
|
|
||||||
register: node_services
|
|
||||||
delegate_to: "{{item}}"
|
|
||||||
with_items: "{{ groups[tripleo_role_name] | default([]) }}"
|
|
||||||
failed_when: false
|
|
||||||
|
|
||||||
# NOTE(flaper87): Create all the nodes objects now, as yaml dicts,
|
|
||||||
# instead of formatting everything as part of a template.
|
|
||||||
# We consider new_node all the nodes that exited with a non-zero
|
|
||||||
# status in the previous task *IF* this is a stack update.
|
|
||||||
# Openshift-ansible expects nodes to be in the new_nodes group for
|
|
||||||
# scale up operation only.
|
|
||||||
- set_fact:
|
|
||||||
nodes:
|
|
||||||
- new_node: "{{ tripleo_stack_action == 'UPDATE' and node_services.results | selectattr('item', 'equalto', item) | selectattr('rc', 'greaterthan', 0) | list | count > 0 }}"
|
|
||||||
hostname: "{{item}}"
|
|
||||||
ansible_user: "{{ hostvars[item]['ansible_user'] | default(hostvars[item]['ansible_ssh_user']) | default('root') }}"
|
|
||||||
ansible_host: "{{ hostvars[item]['ansible_host'] | default(item) }}"
|
|
||||||
ansible_become: true
|
|
||||||
openshift_node_group_name: '{{tripleo_node_group_name}}'
|
|
||||||
etcd_ip: "{{hostvars[item][openshift_master_network + '_ip']}}"
|
|
||||||
openshift_ip: "{{hostvars[item][openshift_master_network + '_ip']}}"
|
|
||||||
openshift_master_bind_addr: "{{hostvars[item][openshift_master_network + '_ip']}}"
|
|
||||||
openshift_public_ip: "{{hostvars[item][openshift_master_network + '_ip']}}"
|
|
||||||
openshift_public_hostname: "{{hostvars[item][openshift_master_network + '_ip']}}"
|
|
||||||
register: all_role_nodes
|
|
||||||
with_items: "{{groups[tripleo_role_name] | default([]) }}"
|
|
||||||
|
|
||||||
- set_fact:
|
|
||||||
role_nodes: "{{ role_nodes|default({}) | combine( {tripleo_role_name: all_role_nodes.results | map(attribute='ansible_facts') | map(attribute='nodes') | flatten | selectattr('new_node', 'equalto', False) | list}) }}"
|
|
||||||
new_role_nodes: "{{ new_role_nodes|default({}) | combine( {tripleo_role_name: all_role_nodes.results | map(attribute='ansible_facts') | map(attribute='nodes') | flatten | selectattr('new_node', 'equalto', True) | list}) }}"
|
|
||||||
|
|
||||||
- set_fact:
|
|
||||||
has_new_nodes: "{{ (has_new_nodes | default(False)) or new_role_nodes[tripleo_role_name] | count > 0 }}"
|
|
||||||
|
|
||||||
- name: generate openshift inventory for {{tripleo_role_name}} role hosts
|
|
||||||
copy:
|
|
||||||
dest: "{{playbook_dir}}/openshift/inventory/{{tripleo_role_name}}_hosts.yml"
|
|
||||||
content: |
|
|
||||||
{% if role_nodes[tripleo_role_name] | count > 0%}
|
|
||||||
all:
|
|
||||||
hosts:
|
|
||||||
{% for host in (role_nodes[tripleo_role_name] + new_role_nodes[tripleo_role_name]) -%}
|
|
||||||
{{host.hostname}}:
|
|
||||||
{{host | to_nice_yaml() | indent(6)}}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
- name: generate openshift inventory for {{tripleo_role_name}} role groups
|
|
||||||
copy:
|
|
||||||
dest: "{{playbook_dir}}/openshift/inventory/{{tripleo_role_name}}_groups.yml"
|
|
||||||
content: |
|
|
||||||
{% if role_nodes[tripleo_role_name] | count > 0%}
|
|
||||||
all:
|
|
||||||
children:
|
|
||||||
{% if role_nodes[tripleo_role_name] | count > 0 -%}
|
|
||||||
nodes:
|
|
||||||
hosts:
|
|
||||||
{% for host in role_nodes[tripleo_role_name] -%}
|
|
||||||
{{host.hostname}}:
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if new_role_nodes[tripleo_role_name] | count > 0 -%}
|
|
||||||
new_nodes:
|
|
||||||
hosts:
|
|
||||||
{% for host in new_role_nodes[tripleo_role_name] -%}
|
|
||||||
{{host.hostname}}:
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
- name: openshift_node step 4
|
|
||||||
when: step|int == 4
|
|
||||||
tags: openshift
|
|
||||||
block:
|
|
||||||
- name: set role facts for generating inventory
|
|
||||||
set_fact:
|
|
||||||
tripleo_role_name: {get_param: RoleName}
|
|
||||||
|
|
||||||
- name: generate post-deployment inventory for {{tripleo_role_name}} role groups
|
|
||||||
copy:
|
|
||||||
dest: "{{playbook_dir}}/openshift/inventory/{{tripleo_role_name}}_groups.yml"
|
|
||||||
content: |
|
|
||||||
{% if (role_nodes[tripleo_role_name] + new_role_nodes[tripleo_role_name]) | count > 0%}
|
|
||||||
all:
|
|
||||||
children:
|
|
||||||
nodes:
|
|
||||||
hosts:
|
|
||||||
{% for host in (role_nodes[tripleo_role_name] + new_role_nodes[tripleo_role_name]) -%}
|
|
||||||
{{host.hostname}}:
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
|
@ -1,61 +0,0 @@
|
||||||
heat_template_version: rocky
|
|
||||||
|
|
||||||
description: External tasks definition for OpenShift
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
RoleNetIpMap:
|
|
||||||
default: {}
|
|
||||||
type: json
|
|
||||||
ServiceData:
|
|
||||||
default: {}
|
|
||||||
description: Dictionary packing service data
|
|
||||||
type: json
|
|
||||||
ServiceNetMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service_name -> network name. Typically set
|
|
||||||
via parameter_defaults in the resource registry. This
|
|
||||||
mapping overrides those in ServiceNetMapDefaults.
|
|
||||||
type: json
|
|
||||||
DefaultPasswords:
|
|
||||||
default: {}
|
|
||||||
type: json
|
|
||||||
RoleName:
|
|
||||||
default: ''
|
|
||||||
description: Role name on which the service is applied
|
|
||||||
type: string
|
|
||||||
RoleParameters:
|
|
||||||
default: {}
|
|
||||||
description: Parameters specific to the role
|
|
||||||
type: json
|
|
||||||
EndpointMap:
|
|
||||||
default: {}
|
|
||||||
description: Mapping of service endpoint -> protocol. Typically set
|
|
||||||
via parameter_defaults in the resource registry.
|
|
||||||
type: json
|
|
||||||
# TODO(mandre) This is unused. Remove it or make it OpenShiftNodeVars
|
|
||||||
OpenShiftWorkerNodeVars:
|
|
||||||
default: {}
|
|
||||||
description: OpenShift node vars specific for the worker nodes
|
|
||||||
type: json
|
|
||||||
|
|
||||||
resources:
|
|
||||||
|
|
||||||
OpenShiftNode:
|
|
||||||
type: ./openshift-node-baremetal-ansible.yaml
|
|
||||||
properties:
|
|
||||||
EndpointMap: {get_param: EndpointMap}
|
|
||||||
ServiceNetMap: {get_param: ServiceNetMap}
|
|
||||||
DefaultPasswords: {get_param: DefaultPasswords}
|
|
||||||
RoleName: {get_param: RoleName}
|
|
||||||
RoleParameters: {get_param: RoleParameters}
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
role_data:
|
|
||||||
description: Role data for the Openshift Service
|
|
||||||
value:
|
|
||||||
service_name: openshift_worker
|
|
||||||
config_settings: {get_attr: [OpenShiftNode, role_data, config_settings]}
|
|
||||||
upgrade_tasks: []
|
|
||||||
step_config: ''
|
|
||||||
external_deploy_tasks:
|
|
||||||
- get_attr: [OpenShiftNode, role_data, external_deploy_tasks]
|
|
|
@ -1,2 +0,0 @@
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::Services::OpenShift::GlusterFS: ../deployment/openshift/openshift-cns-baremetal-ansible.yaml
|
|
|
@ -1,7 +0,0 @@
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::Services::HAproxy: ../deployment/haproxy/haproxy-container-puppet.yaml
|
|
||||||
OS::TripleO::Services::Keepalived: ../deployment/keepalived/keepalived-container-puppet.yaml
|
|
||||||
OS::TripleO::Services::OpenShift::Infra: ../deployment/openshift/openshift-infra-baremetal-ansible.yaml
|
|
||||||
OS::TripleO::Services::OpenShift::Master: ../deployment/openshift/openshift-master-baremetal-ansible.yaml
|
|
||||||
OS::TripleO::Services::OpenShift::Worker: ../deployment/openshift/openshift-worker-baremetal-ansible.yaml
|
|
||||||
OS::TripleO::Services::Podman: ../deployment/podman/podman-baremetal-ansible.yaml
|
|
|
@ -88,12 +88,6 @@ parameter_defaults:
|
||||||
OctaviaPublic: {protocol: http, port: '9876', host: IP_ADDRESS}
|
OctaviaPublic: {protocol: http, port: '9876', host: IP_ADDRESS}
|
||||||
OpenDaylightAdmin: {protocol: http, port: '8081', host: IP_ADDRESS}
|
OpenDaylightAdmin: {protocol: http, port: '8081', host: IP_ADDRESS}
|
||||||
OpenDaylightInternal: {protocol: http, port: '8081', host: IP_ADDRESS}
|
OpenDaylightInternal: {protocol: http, port: '8081', host: IP_ADDRESS}
|
||||||
OpenshiftAdmin: {protocol: http, port: '8443', host: IP_ADDRESS}
|
|
||||||
OpenshiftInternal: {protocol: http, port: '8443', host: IP_ADDRESS}
|
|
||||||
OpenshiftPublic: {protocol: http, port: '8443', host: IP_ADDRESS}
|
|
||||||
OpenshiftRouterAdmin: {protocol: http, port: '80', host: IP_ADDRESS}
|
|
||||||
OpenshiftRouterInternal: {protocol: http, port: '80', host: IP_ADDRESS}
|
|
||||||
OpenshiftRouterPublic: {protocol: http, port: '80', host: IP_ADDRESS}
|
|
||||||
OvnDbInternal: {protocol: tcp, port: '6642', host: IP_ADDRESS}
|
OvnDbInternal: {protocol: tcp, port: '6642', host: IP_ADDRESS}
|
||||||
PankoAdmin: {protocol: http, port: '8977', host: IP_ADDRESS}
|
PankoAdmin: {protocol: http, port: '8977', host: IP_ADDRESS}
|
||||||
PankoInternal: {protocol: http, port: '8977', host: IP_ADDRESS}
|
PankoInternal: {protocol: http, port: '8977', host: IP_ADDRESS}
|
||||||
|
|
|
@ -84,12 +84,6 @@ parameter_defaults:
|
||||||
OctaviaPublic: {protocol: 'https', port: '13876', host: 'CLOUDNAME'}
|
OctaviaPublic: {protocol: 'https', port: '13876', host: 'CLOUDNAME'}
|
||||||
OpenDaylightAdmin: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
|
OpenDaylightAdmin: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
|
||||||
OpenDaylightInternal: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
|
OpenDaylightInternal: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
|
||||||
OpenshiftAdmin: {protocol: 'http', port: '8443', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftInternal: {protocol: 'http', port: '8443', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftPublic: {protocol: 'http', port: '8443', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftRouterAdmin: {protocol: 'http', port: '80', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftRouterInternal: {protocol: 'http', port: '80', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftRouterPublic: {protocol: 'http', port: '80', host: 'IP_ADDRESS'}
|
|
||||||
OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'}
|
OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'}
|
||||||
PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
|
PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
|
||||||
PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
|
PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
|
||||||
|
|
|
@ -84,12 +84,6 @@ parameter_defaults:
|
||||||
OctaviaPublic: {protocol: 'https', port: '13876', host: 'IP_ADDRESS'}
|
OctaviaPublic: {protocol: 'https', port: '13876', host: 'IP_ADDRESS'}
|
||||||
OpenDaylightAdmin: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
|
OpenDaylightAdmin: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
|
||||||
OpenDaylightInternal: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
|
OpenDaylightInternal: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
|
||||||
OpenshiftAdmin: {protocol: 'http', port: '8443', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftInternal: {protocol: 'http', port: '8443', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftPublic: {protocol: 'http', port: '8443', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftRouterAdmin: {protocol: 'http', port: '80', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftRouterInternal: {protocol: 'http', port: '80', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftRouterPublic: {protocol: 'http', port: '80', host: 'IP_ADDRESS'}
|
|
||||||
OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'}
|
OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'}
|
||||||
PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
|
PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
|
||||||
PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
|
PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
|
||||||
|
|
|
@ -84,12 +84,6 @@ parameter_defaults:
|
||||||
OctaviaPublic: {protocol: 'https', port: '13876', host: 'CLOUDNAME'}
|
OctaviaPublic: {protocol: 'https', port: '13876', host: 'CLOUDNAME'}
|
||||||
OpenDaylightAdmin: {protocol: 'https', port: '8081', host: 'CLOUDNAME'}
|
OpenDaylightAdmin: {protocol: 'https', port: '8081', host: 'CLOUDNAME'}
|
||||||
OpenDaylightInternal: {protocol: 'https', port: '8081', host: 'CLOUDNAME'}
|
OpenDaylightInternal: {protocol: 'https', port: '8081', host: 'CLOUDNAME'}
|
||||||
OpenshiftAdmin: {protocol: 'https', port: '8443', host: 'CLOUDNAME'}
|
|
||||||
OpenshiftInternal: {protocol: 'https', port: '8443', host: 'CLOUDNAME'}
|
|
||||||
OpenshiftPublic: {protocol: 'https', port: '8443', host: 'CLOUDNAME'}
|
|
||||||
OpenshiftRouterAdmin: {protocol: 'https', port: '443', host: 'CLOUDNAME'}
|
|
||||||
OpenshiftRouterInternal: {protocol: 'https', port: '443', host: 'CLOUDNAME'}
|
|
||||||
OpenshiftRouterPublic: {protocol: 'https', port: '443', host: 'CLOUDNAME'}
|
|
||||||
OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'}
|
OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'}
|
||||||
PankoAdmin: {protocol: 'https', port: '8977', host: 'CLOUDNAME'}
|
PankoAdmin: {protocol: 'https', port: '8977', host: 'CLOUDNAME'}
|
||||||
PankoInternal: {protocol: 'https', port: '8977', host: 'CLOUDNAME'}
|
PankoInternal: {protocol: 'https', port: '8977', host: 'CLOUDNAME'}
|
||||||
|
|
|
@ -264,24 +264,6 @@ NovaVNCProxy:
|
||||||
net_param: NovaApi
|
net_param: NovaApi
|
||||||
port: 6080
|
port: 6080
|
||||||
|
|
||||||
Openshift:
|
|
||||||
Internal:
|
|
||||||
net_param: OpenshiftMaster
|
|
||||||
Public:
|
|
||||||
net_param: Public
|
|
||||||
Admin:
|
|
||||||
net_param: OpenshiftMaster
|
|
||||||
port: 8443
|
|
||||||
|
|
||||||
OpenshiftRouter:
|
|
||||||
Internal:
|
|
||||||
net_param: OpenshiftInfra
|
|
||||||
Public:
|
|
||||||
net_param: Public
|
|
||||||
Admin:
|
|
||||||
net_param: OpenshiftInfra
|
|
||||||
port: 80
|
|
||||||
|
|
||||||
Swift:
|
Swift:
|
||||||
Internal:
|
Internal:
|
||||||
net_param: SwiftProxy
|
net_param: SwiftProxy
|
||||||
|
|
|
@ -88,12 +88,6 @@ parameters:
|
||||||
OctaviaPublic: {protocol: http, port: '9876', host: IP_ADDRESS}
|
OctaviaPublic: {protocol: http, port: '9876', host: IP_ADDRESS}
|
||||||
OpenDaylightAdmin: {protocol: http, port: '8081', host: IP_ADDRESS}
|
OpenDaylightAdmin: {protocol: http, port: '8081', host: IP_ADDRESS}
|
||||||
OpenDaylightInternal: {protocol: http, port: '8081', host: IP_ADDRESS}
|
OpenDaylightInternal: {protocol: http, port: '8081', host: IP_ADDRESS}
|
||||||
OpenshiftAdmin: {protocol: http, port: '8443', host: IP_ADDRESS}
|
|
||||||
OpenshiftInternal: {protocol: http, port: '8443', host: IP_ADDRESS}
|
|
||||||
OpenshiftPublic: {protocol: http, port: '8443', host: IP_ADDRESS}
|
|
||||||
OpenshiftRouterAdmin: {protocol: http, port: '80', host: IP_ADDRESS}
|
|
||||||
OpenshiftRouterInternal: {protocol: http, port: '80', host: IP_ADDRESS}
|
|
||||||
OpenshiftRouterPublic: {protocol: http, port: '80', host: IP_ADDRESS}
|
|
||||||
OvnDbInternal: {protocol: tcp, port: '6642', host: IP_ADDRESS}
|
OvnDbInternal: {protocol: tcp, port: '6642', host: IP_ADDRESS}
|
||||||
PankoAdmin: {protocol: http, port: '8977', host: IP_ADDRESS}
|
PankoAdmin: {protocol: http, port: '8977', host: IP_ADDRESS}
|
||||||
PankoInternal: {protocol: http, port: '8977', host: IP_ADDRESS}
|
PankoInternal: {protocol: http, port: '8977', host: IP_ADDRESS}
|
||||||
|
@ -6804,492 +6798,6 @@ outputs:
|
||||||
template: NETWORK_uri
|
template: NETWORK_uri
|
||||||
port:
|
port:
|
||||||
get_param: [EndpointMap, OpenDaylightInternal, port]
|
get_param: [EndpointMap, OpenDaylightInternal, port]
|
||||||
OpenshiftAdmin:
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftAdmin, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftMasterNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, OpenshiftMasterNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
host_nobrackets:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftAdmin, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftMasterNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftMasterNetwork]
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftAdmin, port]
|
|
||||||
protocol:
|
|
||||||
get_param: [EndpointMap, OpenshiftAdmin, protocol]
|
|
||||||
uri:
|
|
||||||
make_url:
|
|
||||||
scheme:
|
|
||||||
get_param: [EndpointMap, OpenshiftAdmin, protocol]
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftAdmin, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftMasterNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, OpenshiftMasterNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftAdmin, port]
|
|
||||||
uri_no_suffix:
|
|
||||||
make_url:
|
|
||||||
scheme:
|
|
||||||
get_param: [EndpointMap, OpenshiftAdmin, protocol]
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftAdmin, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftMasterNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, OpenshiftMasterNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftAdmin, port]
|
|
||||||
OpenshiftInternal:
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftInternal, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftMasterNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, OpenshiftMasterNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
host_nobrackets:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftInternal, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftMasterNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftMasterNetwork]
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftInternal, port]
|
|
||||||
protocol:
|
|
||||||
get_param: [EndpointMap, OpenshiftInternal, protocol]
|
|
||||||
uri:
|
|
||||||
make_url:
|
|
||||||
scheme:
|
|
||||||
get_param: [EndpointMap, OpenshiftInternal, protocol]
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftInternal, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftMasterNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, OpenshiftMasterNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftInternal, port]
|
|
||||||
uri_no_suffix:
|
|
||||||
make_url:
|
|
||||||
scheme:
|
|
||||||
get_param: [EndpointMap, OpenshiftInternal, protocol]
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftInternal, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftMasterNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, OpenshiftMasterNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftInternal, port]
|
|
||||||
OpenshiftPublic:
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftPublic, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, PublicNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, PublicNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
host_nobrackets:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftPublic, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, PublicNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- get_param: [ServiceNetMap, PublicNetwork]
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftPublic, port]
|
|
||||||
protocol:
|
|
||||||
get_param: [EndpointMap, OpenshiftPublic, protocol]
|
|
||||||
uri:
|
|
||||||
make_url:
|
|
||||||
scheme:
|
|
||||||
get_param: [EndpointMap, OpenshiftPublic, protocol]
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftPublic, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, PublicNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, PublicNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftPublic, port]
|
|
||||||
uri_no_suffix:
|
|
||||||
make_url:
|
|
||||||
scheme:
|
|
||||||
get_param: [EndpointMap, OpenshiftPublic, protocol]
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftPublic, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, PublicNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, PublicNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftPublic, port]
|
|
||||||
OpenshiftRouterAdmin:
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterAdmin, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftInfraNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, OpenshiftInfraNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
host_nobrackets:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterAdmin, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftInfraNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftInfraNetwork]
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterAdmin, port]
|
|
||||||
protocol:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterAdmin, protocol]
|
|
||||||
uri:
|
|
||||||
make_url:
|
|
||||||
scheme:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterAdmin, protocol]
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterAdmin, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftInfraNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, OpenshiftInfraNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterAdmin, port]
|
|
||||||
uri_no_suffix:
|
|
||||||
make_url:
|
|
||||||
scheme:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterAdmin, protocol]
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterAdmin, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftInfraNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, OpenshiftInfraNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterAdmin, port]
|
|
||||||
OpenshiftRouterInternal:
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterInternal, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftInfraNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, OpenshiftInfraNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
host_nobrackets:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterInternal, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftInfraNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftInfraNetwork]
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterInternal, port]
|
|
||||||
protocol:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterInternal, protocol]
|
|
||||||
uri:
|
|
||||||
make_url:
|
|
||||||
scheme:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterInternal, protocol]
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterInternal, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftInfraNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, OpenshiftInfraNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterInternal, port]
|
|
||||||
uri_no_suffix:
|
|
||||||
make_url:
|
|
||||||
scheme:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterInternal, protocol]
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterInternal, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, OpenshiftInfraNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, OpenshiftInfraNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterInternal, port]
|
|
||||||
OpenshiftRouterPublic:
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterPublic, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, PublicNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, PublicNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
host_nobrackets:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterPublic, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, PublicNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- get_param: [ServiceNetMap, PublicNetwork]
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterPublic, port]
|
|
||||||
protocol:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterPublic, protocol]
|
|
||||||
uri:
|
|
||||||
make_url:
|
|
||||||
scheme:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterPublic, protocol]
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterPublic, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, PublicNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, PublicNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterPublic, port]
|
|
||||||
uri_no_suffix:
|
|
||||||
make_url:
|
|
||||||
scheme:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterPublic, protocol]
|
|
||||||
host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterPublic, host]
|
|
||||||
params:
|
|
||||||
CLOUDNAME:
|
|
||||||
get_param:
|
|
||||||
- CloudEndpoints
|
|
||||||
- get_param: [ServiceNetMap, PublicNetwork]
|
|
||||||
IP_ADDRESS:
|
|
||||||
get_param:
|
|
||||||
- NetIpMap
|
|
||||||
- str_replace:
|
|
||||||
params:
|
|
||||||
NETWORK:
|
|
||||||
get_param: [ServiceNetMap, PublicNetwork]
|
|
||||||
template: NETWORK_uri
|
|
||||||
port:
|
|
||||||
get_param: [EndpointMap, OpenshiftRouterPublic, port]
|
|
||||||
OvnDbInternal:
|
OvnDbInternal:
|
||||||
host:
|
host:
|
||||||
str_replace:
|
str_replace:
|
||||||
|
|
|
@ -92,8 +92,6 @@ parameters:
|
||||||
DesignateApiNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
|
DesignateApiNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
|
||||||
BINDNetwork: {{ _service_nets.get('external', 'ctlplane') }}
|
BINDNetwork: {{ _service_nets.get('external', 'ctlplane') }}
|
||||||
EtcdNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
|
EtcdNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
|
||||||
OpenshiftMasterNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
|
|
||||||
OpenshiftInfraNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
|
|
||||||
# HaproxyNetwork currently only controls the haproxy.stats network binding
|
# HaproxyNetwork currently only controls the haproxy.stats network binding
|
||||||
HaproxyNetwork: ctlplane
|
HaproxyNetwork: ctlplane
|
||||||
# We special-case the default ResolveNetwork for the Ceph roles
|
# We special-case the default ResolveNetwork for the Ceph roles
|
||||||
|
|
|
@ -1,75 +0,0 @@
|
||||||
# List of networks, used for j2 templating of enabled networks
|
|
||||||
#
|
|
||||||
# Supported values:
|
|
||||||
#
|
|
||||||
# name: Name of the network (mandatory)
|
|
||||||
# name_lower: lowercase version of name used for filenames
|
|
||||||
# (optional, defaults to name.lower())
|
|
||||||
# service_net_map_replace: if name_lower is set to a custom name this should be set
|
|
||||||
# to original default (optional). This field is only necessary when
|
|
||||||
# changing the default network names, not when adding a new custom network.
|
|
||||||
# enabled: Is the network enabled (optional, defaults to true)
|
|
||||||
# NOTE: False will use noop.yaml for unused legacy networks to support upgrades.
|
|
||||||
# vlan: vlan for the network (optional)
|
|
||||||
# vip: Enable creation of a virtual IP on this network
|
|
||||||
# ip_subnet: IP/CIDR, e.g. '192.168.24.0/24' or '2001:db8:fd00:1000::/64'
|
|
||||||
# (optional, may use parameter defaults instead)
|
|
||||||
# allocation_pools: IP range list e.g. [{'start':'10.0.0.4', 'end':'10.0.0.250'}]
|
|
||||||
# gateway_ip: gateway for the network (optional, may use parameter defaults)
|
|
||||||
# routes: Optional, list of networks that should be routed via network gateway.
|
|
||||||
# Example: [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
|
||||||
# A single /16 supernet route could be used for 255 smaller /24 subnets.
|
|
||||||
# ipv6_subnet: Optional, sets default IPv6 subnet if IPv4 is already defined.
|
|
||||||
# ipv6_allocation_pools: Set default IPv6 allocation pools if IPv4 allocation pools
|
|
||||||
# are already defined.
|
|
||||||
# gateway_ipv6: Set an IPv6 gateway if IPv4 gateway already defined.
|
|
||||||
# ipv6: If ip_subnet not defined, this specifies that the network is IPv6-only.
|
|
||||||
# NOTE: IP-related values set parameter defaults in templates, may be overridden,
|
|
||||||
# either by operators, or e.g in environments/network-isolation-v6.yaml where we
|
|
||||||
# set some default IPv6 addresses.
|
|
||||||
# compat_name: for existing stack you may need to override the default
|
|
||||||
# transformation for the resource's name.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# - name Example
|
|
||||||
# vip: false
|
|
||||||
# ip_subnet: '10.0.2.0/24'
|
|
||||||
# allocation_pools: [{'start': '10.0.2.4', 'end': '10.0.2.250'}]
|
|
||||||
# gateway_ip: '10.0.2.254'
|
|
||||||
#
|
|
||||||
# To support backward compatibility, two versions of the network definitions
|
|
||||||
# will be created, network/<network>.yaml and network/<network>_v6.yaml. Only
|
|
||||||
# one of these files may be used in the deployment at a time, since the
|
|
||||||
# parameters used for configuration are the same in both files. In the
|
|
||||||
# future, this behavior may be changed to create only one file for custom
|
|
||||||
# networks. You may specify IPv6 addresses for ip_subnet, allocation_pools,
|
|
||||||
# and gateway_ip if no IPv4 addresses are used for a custom network, or set
|
|
||||||
# ipv6: true, and the network/<network>.yaml file will be configured as IPv6.
|
|
||||||
#
|
|
||||||
# For configuring both IPv4 and IPv6 on the same interface, use two separate
|
|
||||||
# networks, and then assign both IPs to the same interface in a custom NIC
|
|
||||||
# configuration templates.
|
|
||||||
#
|
|
||||||
# The ordering of the networks below will determine the order in which NICs
|
|
||||||
# are assigned in the network/config/multiple-nics templates, beginning with
|
|
||||||
# NIC2, Control Plane is always NIC1.
|
|
||||||
|
|
||||||
- name: Storage
|
|
||||||
vip: true
|
|
||||||
vlan: 30
|
|
||||||
name_lower: storage
|
|
||||||
ip_subnet: '172.16.1.0/24'
|
|
||||||
allocation_pools: [{'start': '172.16.1.4', 'end': '172.16.1.250'}]
|
|
||||||
- name: InternalApi
|
|
||||||
name_lower: internal_api
|
|
||||||
vip: true
|
|
||||||
vlan: 20
|
|
||||||
ip_subnet: '172.16.2.0/24'
|
|
||||||
allocation_pools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}]
|
|
||||||
- name: External
|
|
||||||
vip: true
|
|
||||||
name_lower: external
|
|
||||||
vlan: 10
|
|
||||||
ip_subnet: '10.0.0.0/24'
|
|
||||||
allocation_pools: [{'start': '10.0.0.4', 'end': '10.0.0.250'}]
|
|
||||||
gateway_ip: '10.0.0.1'
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
other:
|
||||||
|
- |
|
||||||
|
OpenShift deployed by TripleO support has been removed in a downstream
|
||||||
|
version of Stein which make the upstream support difficult to maintain.
|
||||||
|
OpenShift can be deployed using OpenShift-Ansible and
|
||||||
|
users who desire to deploy OpenShift 3.11 onto bare metal nodes can
|
||||||
|
still do so using openshift-ansible directly. The provisioning of
|
||||||
|
the Operating System on baremetal can be done with OpenStack Ironic on
|
||||||
|
the Overcloud or also can be done with deployed-servers, achieving the
|
||||||
|
same result.
|
|
@ -1,42 +0,0 @@
|
||||||
###############################################################################
|
|
||||||
# Role: OpenShiftAllInOne #
|
|
||||||
###############################################################################
|
|
||||||
- name: OpenShiftAllInOne
|
|
||||||
description: |
|
|
||||||
OpenShiftAllInOne role
|
|
||||||
CountDefault: 1
|
|
||||||
RoleParametersDefault:
|
|
||||||
OpenShiftNodeGroupName: 'node-config-all-in-one'
|
|
||||||
DockerSkipUpdateReconfiguration: true
|
|
||||||
tags:
|
|
||||||
- primary
|
|
||||||
- controller
|
|
||||||
- openshift
|
|
||||||
networks:
|
|
||||||
External:
|
|
||||||
subnet: external_subnet
|
|
||||||
InternalApi:
|
|
||||||
subnet: internal_api_subnet
|
|
||||||
Storage:
|
|
||||||
subnet: storage_subnet
|
|
||||||
# For systems with both IPv4 and IPv6, you may specify a gateway network for
|
|
||||||
# each, such as ['ControlPlane', 'External']
|
|
||||||
default_route_networks: ['External']
|
|
||||||
update_serial: 25
|
|
||||||
ServicesDefault:
|
|
||||||
- OS::TripleO::Services::BootParams
|
|
||||||
- OS::TripleO::Services::Docker
|
|
||||||
- OS::TripleO::Services::OpenShift::GlusterFS
|
|
||||||
- OS::TripleO::Services::OpenShift::Infra
|
|
||||||
- OS::TripleO::Services::OpenShift::Master
|
|
||||||
- OS::TripleO::Services::OpenShift::Worker
|
|
||||||
- OS::TripleO::Services::Podman
|
|
||||||
- OS::TripleO::Services::Rhsm
|
|
||||||
- OS::TripleO::Services::Sshd
|
|
||||||
- OS::TripleO::Services::Timesync
|
|
||||||
- OS::TripleO::Services::TripleoFirewall
|
|
||||||
- OS::TripleO::Services::TripleoPackages
|
|
||||||
|
|
||||||
# NOTE(mandre) In all-in-one HAproxy conflicts with the one openshift deploys
|
|
||||||
# - OS::TripleO::Services::HAproxy
|
|
||||||
# - OS::TripleO::Services::Keepalived
|
|
|
@ -1,31 +0,0 @@
|
||||||
###############################################################################
|
|
||||||
# Role: OpenShiftInfra #
|
|
||||||
###############################################################################
|
|
||||||
- name: OpenShiftInfra
|
|
||||||
description: |
|
|
||||||
OpenShiftInfra role, a specialized worker that only runs infra pods.
|
|
||||||
CountDefault: 1
|
|
||||||
RoleParametersDefault:
|
|
||||||
OpenShiftNodeGroupName: 'node-config-infra'
|
|
||||||
DockerSkipUpdateReconfiguration: true
|
|
||||||
tags:
|
|
||||||
- openshift
|
|
||||||
networks:
|
|
||||||
InternalApi:
|
|
||||||
subnet: internal_api_subnet
|
|
||||||
Storage:
|
|
||||||
subnet: storage_subnet
|
|
||||||
# For systems with both IPv4 and IPv6, you may specify a gateway network for
|
|
||||||
# each, such as ['ControlPlane', 'External']
|
|
||||||
default_route_networks: ['ControlPlane']
|
|
||||||
update_serial: 25
|
|
||||||
ServicesDefault:
|
|
||||||
- OS::TripleO::Services::BootParams
|
|
||||||
- OS::TripleO::Services::Docker
|
|
||||||
- OS::TripleO::Services::OpenShift::GlusterFS
|
|
||||||
- OS::TripleO::Services::OpenShift::Infra
|
|
||||||
- OS::TripleO::Services::Podman
|
|
||||||
- OS::TripleO::Services::Rhsm
|
|
||||||
- OS::TripleO::Services::Sshd
|
|
||||||
- OS::TripleO::Services::Timesync
|
|
||||||
- OS::TripleO::Services::TripleoFirewall
|
|
|
@ -1,38 +0,0 @@
|
||||||
###############################################################################
|
|
||||||
# Role: OpenShiftMaster #
|
|
||||||
###############################################################################
|
|
||||||
- name: OpenShiftMaster
|
|
||||||
description: |
|
|
||||||
OpenShiftMaster role
|
|
||||||
CountDefault: 1
|
|
||||||
RoleParametersDefault:
|
|
||||||
OpenShiftNodeGroupName: 'node-config-master'
|
|
||||||
DockerSkipUpdateReconfiguration: true
|
|
||||||
tags:
|
|
||||||
- primary
|
|
||||||
- controller
|
|
||||||
- openshift
|
|
||||||
networks:
|
|
||||||
External:
|
|
||||||
subnet: external_subnet
|
|
||||||
InternalApi:
|
|
||||||
subnet: internal_api_subnet
|
|
||||||
Storage:
|
|
||||||
subnet: storage_subnet
|
|
||||||
# For systems with both IPv4 and IPv6, you may specify a gateway network for
|
|
||||||
# each, such as ['ControlPlane', 'External']
|
|
||||||
default_route_networks: ['External']
|
|
||||||
update_serial: 25
|
|
||||||
ServicesDefault:
|
|
||||||
- OS::TripleO::Services::BootParams
|
|
||||||
- OS::TripleO::Services::ContainerImagePrepare
|
|
||||||
- OS::TripleO::Services::Docker
|
|
||||||
- OS::TripleO::Services::HAproxy
|
|
||||||
- OS::TripleO::Services::Keepalived
|
|
||||||
- OS::TripleO::Services::OpenShift::Master
|
|
||||||
- OS::TripleO::Services::Podman
|
|
||||||
- OS::TripleO::Services::Rhsm
|
|
||||||
- OS::TripleO::Services::Sshd
|
|
||||||
- OS::TripleO::Services::Timesync
|
|
||||||
- OS::TripleO::Services::TripleoFirewall
|
|
||||||
- OS::TripleO::Services::TripleoPackages
|
|
|
@ -1,31 +0,0 @@
|
||||||
###############################################################################
|
|
||||||
# Role: OpenShiftWorker #
|
|
||||||
###############################################################################
|
|
||||||
- name: OpenShiftWorker
|
|
||||||
description: |
|
|
||||||
OpenShiftWorker role
|
|
||||||
CountDefault: 1
|
|
||||||
RoleParametersDefault:
|
|
||||||
OpenShiftNodeGroupName: 'node-config-compute'
|
|
||||||
DockerSkipUpdateReconfiguration: true
|
|
||||||
tags:
|
|
||||||
- openshift
|
|
||||||
networks:
|
|
||||||
InternalApi:
|
|
||||||
subnet: internal_api_subnet
|
|
||||||
Storage:
|
|
||||||
subnet: storage_subnet
|
|
||||||
# For systems with both IPv4 and IPv6, you may specify a gateway network for
|
|
||||||
# each, such as ['ControlPlane', 'External']
|
|
||||||
default_route_networks: ['ControlPlane']
|
|
||||||
update_serial: 25
|
|
||||||
ServicesDefault:
|
|
||||||
- OS::TripleO::Services::BootParams
|
|
||||||
- OS::TripleO::Services::Docker
|
|
||||||
- OS::TripleO::Services::OpenShift::GlusterFS
|
|
||||||
- OS::TripleO::Services::OpenShift::Worker
|
|
||||||
- OS::TripleO::Services::Podman
|
|
||||||
- OS::TripleO::Services::Rhsm
|
|
||||||
- OS::TripleO::Services::Sshd
|
|
||||||
- OS::TripleO::Services::Timesync
|
|
||||||
- OS::TripleO::Services::TripleoFirewall
|
|
|
@ -192,12 +192,6 @@ environments:
|
||||||
OctaviaPublic: {protocol: 'https', port: '13876', host: 'IP_ADDRESS'}
|
OctaviaPublic: {protocol: 'https', port: '13876', host: 'IP_ADDRESS'}
|
||||||
OpenDaylightAdmin: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
|
OpenDaylightAdmin: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
|
||||||
OpenDaylightInternal: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
|
OpenDaylightInternal: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
|
||||||
OpenshiftAdmin: {protocol: 'http', port: '8443', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftInternal: {protocol: 'http', port: '8443', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftPublic: {protocol: 'http', port: '8443', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftRouterAdmin: {protocol: 'http', port: '80', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftRouterInternal: {protocol: 'http', port: '80', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftRouterPublic: {protocol: 'http', port: '80', host: 'IP_ADDRESS'}
|
|
||||||
OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'}
|
OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'}
|
||||||
PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
|
PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
|
||||||
PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
|
PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
|
||||||
|
@ -309,12 +303,6 @@ environments:
|
||||||
OctaviaPublic: {protocol: 'https', port: '13876', host: 'CLOUDNAME'}
|
OctaviaPublic: {protocol: 'https', port: '13876', host: 'CLOUDNAME'}
|
||||||
OpenDaylightAdmin: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
|
OpenDaylightAdmin: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
|
||||||
OpenDaylightInternal: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
|
OpenDaylightInternal: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
|
||||||
OpenshiftAdmin: {protocol: 'http', port: '8443', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftInternal: {protocol: 'http', port: '8443', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftPublic: {protocol: 'http', port: '8443', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftRouterAdmin: {protocol: 'http', port: '80', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftRouterInternal: {protocol: 'http', port: '80', host: 'IP_ADDRESS'}
|
|
||||||
OpenshiftRouterPublic: {protocol: 'http', port: '80', host: 'IP_ADDRESS'}
|
|
||||||
OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'}
|
OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'}
|
||||||
PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
|
PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
|
||||||
PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
|
PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
|
||||||
|
@ -426,12 +414,6 @@ environments:
|
||||||
OctaviaPublic: {protocol: 'https', port: '13876', host: 'CLOUDNAME'}
|
OctaviaPublic: {protocol: 'https', port: '13876', host: 'CLOUDNAME'}
|
||||||
OpenDaylightAdmin: {protocol: 'https', port: '8081', host: 'CLOUDNAME'}
|
OpenDaylightAdmin: {protocol: 'https', port: '8081', host: 'CLOUDNAME'}
|
||||||
OpenDaylightInternal: {protocol: 'https', port: '8081', host: 'CLOUDNAME'}
|
OpenDaylightInternal: {protocol: 'https', port: '8081', host: 'CLOUDNAME'}
|
||||||
OpenshiftAdmin: {protocol: 'https', port: '8443', host: 'CLOUDNAME'}
|
|
||||||
OpenshiftInternal: {protocol: 'https', port: '8443', host: 'CLOUDNAME'}
|
|
||||||
OpenshiftPublic: {protocol: 'https', port: '8443', host: 'CLOUDNAME'}
|
|
||||||
OpenshiftRouterAdmin: {protocol: 'https', port: '443', host: 'CLOUDNAME'}
|
|
||||||
OpenshiftRouterInternal: {protocol: 'https', port: '443', host: 'CLOUDNAME'}
|
|
||||||
OpenshiftRouterPublic: {protocol: 'https', port: '443', host: 'CLOUDNAME'}
|
|
||||||
OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'}
|
OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'}
|
||||||
PankoAdmin: {protocol: 'https', port: '8977', host: 'CLOUDNAME'}
|
PankoAdmin: {protocol: 'https', port: '8977', host: 'CLOUDNAME'}
|
||||||
PankoInternal: {protocol: 'https', port: '8977', host: 'CLOUDNAME'}
|
PankoInternal: {protocol: 'https', port: '8977', host: 'CLOUDNAME'}
|
||||||
|
@ -553,12 +535,6 @@ environments:
|
||||||
OctaviaPublic: {protocol: http, port: '9876', host: IP_ADDRESS}
|
OctaviaPublic: {protocol: http, port: '9876', host: IP_ADDRESS}
|
||||||
OpenDaylightAdmin: {protocol: http, port: '8081', host: IP_ADDRESS}
|
OpenDaylightAdmin: {protocol: http, port: '8081', host: IP_ADDRESS}
|
||||||
OpenDaylightInternal: {protocol: http, port: '8081', host: IP_ADDRESS}
|
OpenDaylightInternal: {protocol: http, port: '8081', host: IP_ADDRESS}
|
||||||
OpenshiftAdmin: {protocol: http, port: '8443', host: IP_ADDRESS}
|
|
||||||
OpenshiftInternal: {protocol: http, port: '8443', host: IP_ADDRESS}
|
|
||||||
OpenshiftPublic: {protocol: http, port: '8443', host: IP_ADDRESS}
|
|
||||||
OpenshiftRouterAdmin: {protocol: http, port: '80', host: IP_ADDRESS}
|
|
||||||
OpenshiftRouterInternal: {protocol: http, port: '80', host: IP_ADDRESS}
|
|
||||||
OpenshiftRouterPublic: {protocol: http, port: '80', host: IP_ADDRESS}
|
|
||||||
OvnDbInternal: {protocol: tcp, port: '6642', host: IP_ADDRESS}
|
OvnDbInternal: {protocol: tcp, port: '6642', host: IP_ADDRESS}
|
||||||
PankoAdmin: {protocol: http, port: '8977', host: IP_ADDRESS}
|
PankoAdmin: {protocol: http, port: '8977', host: IP_ADDRESS}
|
||||||
PankoInternal: {protocol: http, port: '8977', host: IP_ADDRESS}
|
PankoInternal: {protocol: http, port: '8977', host: IP_ADDRESS}
|
||||||
|
|
|
@ -1130,11 +1130,8 @@ def validate(filename, param_map):
|
||||||
# NOTE(hjensas): The routed network data example is very different ...
|
# NOTE(hjensas): The routed network data example is very different ...
|
||||||
# We need to develop a more advanced validator, probably using a schema
|
# We need to develop a more advanced validator, probably using a schema
|
||||||
# definition instead.
|
# definition instead.
|
||||||
# NOTE(mandre): Same goes for the openshift network data where it
|
|
||||||
# contains only a subset of the overcloud networks.
|
|
||||||
if (filename.startswith('./network_data_') and
|
if (filename.startswith('./network_data_') and
|
||||||
not filename.endswith(('routed.yaml',
|
not filename.endswith(('routed.yaml',
|
||||||
'openshift.yaml',
|
|
||||||
'undercloud.yaml'))):
|
'undercloud.yaml'))):
|
||||||
result = validate_network_data_file(filename)
|
result = validate_network_data_file(filename)
|
||||||
retval |= result
|
retval |= result
|
||||||
|
|
|
@ -75,22 +75,6 @@
|
||||||
- ^deployed-server/.*$
|
- ^deployed-server/.*$
|
||||||
- ^common/.*$
|
- ^common/.*$
|
||||||
- zuul.d/*
|
- zuul.d/*
|
||||||
- tripleo-ci-centos-7-scenario009-multinode-oooq-container:
|
|
||||||
dependencies: *deps_unit_lint
|
|
||||||
files:
|
|
||||||
- ^coe/openshift.*$
|
|
||||||
- ^environments/openshift.*$
|
|
||||||
- ^deployment/openshift/.*$
|
|
||||||
- ^(deployment|docker|puppet)/.*haproxy.*$
|
|
||||||
- ^(deployment|docker|puppet)/.*keepalived.*$
|
|
||||||
- ^(deployment|docker|puppet)/.*mistral.*$
|
|
||||||
- ci/environments/scenario009-multinode.yaml
|
|
||||||
- ^ci/common/.*$
|
|
||||||
- ci/pingtests/scenario009-multinode.yaml
|
|
||||||
- ^network/endpoints/.*$
|
|
||||||
- ^deployed-server/.*$
|
|
||||||
- ^common/.*$
|
|
||||||
- zuul.d/*
|
|
||||||
- tripleo-ci-centos-7-scenario010-multinode-oooq-container:
|
- tripleo-ci-centos-7-scenario010-multinode-oooq-container:
|
||||||
dependencies: *deps_unit_lint
|
dependencies: *deps_unit_lint
|
||||||
files:
|
files:
|
||||||
|
|
Loading…
Reference in New Issue