Removal of OpenShift deployed by TripleO support
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. Change-Id: I6a73f7f22dda69bef324ffdaecdcd6be693c1257
This commit is contained in:
parent
29a499d665
commit
c845595ba3
@ -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 |
|
||||
+================+========+========+========+========+========+========+========+========+========+========+========+
|
||||
| openshift | | | | | | | | X | | | |
|
||||
+----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| keystone | X | X | X | X | X | X | X | | X | X | X |
|
||||
+----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| 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}
|
||||
OpenDaylightAdmin: {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}
|
||||
PankoAdmin: {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'}
|
||||
OpenDaylightAdmin: {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'}
|
||||
PankoAdmin: {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'}
|
||||
OpenDaylightAdmin: {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'}
|
||||
PankoAdmin: {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'}
|
||||
OpenDaylightAdmin: {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'}
|
||||
PankoAdmin: {protocol: 'https', port: '8977', host: 'CLOUDNAME'}
|
||||
PankoInternal: {protocol: 'https', port: '8977', host: 'CLOUDNAME'}
|
||||
|
@ -264,24 +264,6 @@ NovaVNCProxy:
|
||||
net_param: NovaApi
|
||||
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:
|
||||
Internal:
|
||||
net_param: SwiftProxy
|
||||
|
@ -88,12 +88,6 @@ parameters:
|
||||
OctaviaPublic: {protocol: http, port: '9876', host: IP_ADDRESS}
|
||||
OpenDaylightAdmin: {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}
|
||||
PankoAdmin: {protocol: http, port: '8977', host: IP_ADDRESS}
|
||||
PankoInternal: {protocol: http, port: '8977', host: IP_ADDRESS}
|
||||
@ -6804,492 +6798,6 @@ outputs:
|
||||
template: NETWORK_uri
|
||||
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:
|
||||
host:
|
||||
str_replace:
|
||||
|
@ -92,8 +92,6 @@ parameters:
|
||||
DesignateApiNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
|
||||
BINDNetwork: {{ _service_nets.get('external', '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: ctlplane
|
||||
# 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'
|
11
releasenotes/notes/openshift-removal-d7efdc1696a1999e.yaml
Normal file
11
releasenotes/notes/openshift-removal-d7efdc1696a1999e.yaml
Normal file
@ -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'}
|
||||
OpenDaylightAdmin: {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'}
|
||||
PankoAdmin: {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'}
|
||||
OpenDaylightAdmin: {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'}
|
||||
PankoAdmin: {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'}
|
||||
OpenDaylightAdmin: {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'}
|
||||
PankoAdmin: {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}
|
||||
OpenDaylightAdmin: {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}
|
||||
PankoAdmin: {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 ...
|
||||
# We need to develop a more advanced validator, probably using a schema
|
||||
# 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
|
||||
not filename.endswith(('routed.yaml',
|
||||
'openshift.yaml',
|
||||
'undercloud.yaml'))):
|
||||
result = validate_network_data_file(filename)
|
||||
retval |= result
|
||||
|
@ -75,22 +75,6 @@
|
||||
- ^deployed-server/.*$
|
||||
- ^common/.*$
|
||||
- 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:
|
||||
dependencies: *deps_unit_lint
|
||||
files:
|
||||
|
Loading…
Reference in New Issue
Block a user