HA support for OpenShift

The OSA assisted HA deployment is not recommended for production
environments, besides it being limited. Therefore, we're relying on our
deployment of HAproxy + Keepalived to provide HA on top of OpenShift in
addition to adding more OpenShift nodes.

Depends-On: Ib573758b515264d1dda90cc9de61f4fa6659dc7d

Change-Id: I7ab677e4803e9df5f6641204cb0b6ccc5b1eb79f
This commit is contained in:
Flavio Percoco 2018-07-02 17:38:26 +02:00
parent 45f5361391
commit 99b8119d98
17 changed files with 365 additions and 10 deletions

View File

@ -18,6 +18,8 @@ parameter_defaults:
- OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::Sshd - OS::TripleO::Services::Sshd
- OS::TripleO::Services::HAproxy
- OS::TripleO::Services::Keepalived
- OS::TripleO::Services::OpenShift::Master - OS::TripleO::Services::OpenShift::Master
- OS::TripleO::Services::OpenShift::Worker - OS::TripleO::Services::OpenShift::Worker
ComputeServices: ComputeServices:

View File

@ -91,6 +91,9 @@ 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}
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}
PankoPublic: {protocol: http, port: '8977', host: IP_ADDRESS} PankoPublic: {protocol: http, port: '8977', host: IP_ADDRESS}

View File

@ -94,6 +94,9 @@ 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}
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}
PankoPublic: {protocol: http, port: '8977', host: IP_ADDRESS} PankoPublic: {protocol: http, port: '8977', host: IP_ADDRESS}

View File

@ -87,6 +87,9 @@ 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'}
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'}
PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'} PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'}

View File

@ -87,6 +87,9 @@ 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'}
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'}
PankoPublic: {protocol: 'https', port: '13977', host: 'IP_ADDRESS'} PankoPublic: {protocol: 'https', port: '13977', host: 'IP_ADDRESS'}

View File

@ -87,6 +87,9 @@ 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'}
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'}
PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'} PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'}

View File

@ -81,6 +81,9 @@ 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'}
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'}
PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'} PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'}

View File

@ -81,6 +81,9 @@ 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'}
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'}
PankoPublic: {protocol: 'https', port: '13977', host: 'IP_ADDRESS'} PankoPublic: {protocol: 'https', port: '13977', host: 'IP_ADDRESS'}

View File

@ -77,6 +77,9 @@ 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'}
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'}
PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'} PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'}

View File

@ -106,11 +106,15 @@ outputs:
skip_version: true skip_version: true
# Fatal and Errors only # Fatal and Errors only
debug_level: 0 debug_level: 0
openshift_master_cluster_method: native
openshift_master_cluster_hostname: {get_param: [EndpointMap, OpenshiftPublic, host]}
openshift_master_cluster_public_hostname: {get_param: [EndpointMap, OpenshiftPublic, host]}
- {get_param: OpenShiftGlobalVariables} - {get_param: OpenShiftGlobalVariables}
tripleo_role_name: {get_param: RoleName} tripleo_role_name: {get_param: RoleName}
tripleo_stack_action: {get_param: StackAction} tripleo_stack_action: {get_param: StackAction}
openshift_master_node_vars: {get_param: OpenShiftMasterNodeVars} openshift_master_node_vars: {get_param: OpenShiftMasterNodeVars}
openshift_worker_node_vars: {get_param: OpenShiftWorkerNodeVars} openshift_worker_node_vars: {get_param: OpenShiftWorkerNodeVars}
openshift_master_network: {get_param: [ServiceNetMap, OpenshiftMasterNetwork]}
# NOTE(flaper87): Check if origin-node is running # NOTE(flaper87): Check if origin-node is running
# in the openshift nodes so we can flag the node # in the openshift nodes so we can flag the node
@ -144,11 +148,13 @@ outputs:
ansible_user: "{{ hostvars.raw_get(item)['ansible_user'] | default(hostvars.raw_get(item)['ansible_ssh_user']) | default('root') }}" ansible_user: "{{ hostvars.raw_get(item)['ansible_user'] | default(hostvars.raw_get(item)['ansible_ssh_user']) | default('root') }}"
ansible_host: "{{ hostvars.raw_get(item)['ansible_host'] | default(item) }}" ansible_host: "{{ hostvars.raw_get(item)['ansible_host'] | default(item) }}"
ansible_become: true ansible_become: true
etcd_ip: "{{hostvars.raw_get(item)['ctlplane_ip']}}" etcd_ip: "{{hostvars.raw_get(item)[openshift_master_network + '_ip']}}"
openshift_ip: "{{hostvars.raw_get(item)['ctlplane_ip']}}" openshift_ip: "{{hostvars.raw_get(item)[openshift_master_network + '_ip']}}"
openshift_public_ip: "{{hostvars.raw_get(item)['external_ip'] | default(hostvars.raw_get(item)['ctlplane_ip'])}}" openshift_master_bind_addr: "{{hostvars.raw_get(item)[openshift_master_network + '_ip']}}"
openshift_hostname: "{{hostvars.raw_get(item)['ctlplane_ip']}}" openshift_public_ip: "{{hostvars.raw_get(item)[openshift_master_network + '_ip']}}"
openshift_public_hostname: "{{hostvars.raw_get(item)['external_ip'] | default(hostvars.raw_get(item)['ctlplane_ip'])}}" openshift_hostname: "{{hostvars.raw_get(item)[openshift_master_network + '_ip']}}"
openshift_public_hostname: "{{hostvars.raw_get(item)[openshift_master_network + '_ip']}}"
register: all_master_nodes register: all_master_nodes
with_items: "{{groups[tripleo_role_name] | default([]) }}" with_items: "{{groups[tripleo_role_name] | default([]) }}"

View File

@ -70,6 +70,7 @@ outputs:
- name: set global vars facts - name: set global vars facts
set_fact: set_fact:
tripleo_role_name: {get_param: RoleName} tripleo_role_name: {get_param: RoleName}
openshift_master_network: {get_param: [ServiceNetMap, OpenshiftMasterNetwork]}
openshift_worker_scaleup_playbook_path: {get_param: OpenShiftWorkerScaleupPlaybook} openshift_worker_scaleup_playbook_path: {get_param: OpenShiftWorkerScaleupPlaybook}
- name: Check if origin-node is running - name: Check if origin-node is running
@ -89,11 +90,11 @@ outputs:
ansible_user: "{{ hostvars.raw_get(item)['ansible_user'] | default(hostvars.raw_get(item)['ansible_ssh_user']) | default('root') }}" ansible_user: "{{ hostvars.raw_get(item)['ansible_user'] | default(hostvars.raw_get(item)['ansible_ssh_user']) | default('root') }}"
ansible_host: "{{ hostvars.raw_get(item)['ansible_host'] | default(item) }}" ansible_host: "{{ hostvars.raw_get(item)['ansible_host'] | default(item) }}"
ansible_become: true ansible_become: true
etcd_ip: "{{hostvars.raw_get(item)['ctlplane_ip']}}" etcd_ip: "{{hostvars.raw_get(item)[openshift_master_network + '_ip']}}"
openshift_ip: "{{hostvars.raw_get(item)['ctlplane_ip']}}" openshift_ip: "{{hostvars.raw_get(item)[openshift_master_network + '_ip']}}"
openshift_public_ip: "{{hostvars.raw_get(item)['external_ip'] | default(hostvars.raw_get(item)['ctlplane_ip'])}}" openshift_public_ip: "{{hostvars.raw_get(item)[openshift_master_network + '_ip']}}"
openshift_hostname: "{{hostvars.raw_get(item)['ctlplane_ip']}}" openshift_hostname: "{{hostvars.raw_get(item)[openshift_master_network + '_ip']}}"
openshift_public_hostname: "{{hostvars.raw_get(item)['external_ip'] | default(hostvars.raw_get(item)['ctlplane_ip'])}}" openshift_public_hostname: "{{hostvars.raw_get(item)[openshift_master_network + '_ip']}}"
openshift_schedulable: true openshift_schedulable: true
openshift_node_labels: openshift_node_labels:
region: 'infra' region: 'infra'

View File

@ -261,6 +261,15 @@ 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
Swift: Swift:
Internal: Internal:
net_param: SwiftProxy net_param: SwiftProxy

View File

@ -94,6 +94,9 @@ 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}
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}
PankoPublic: {protocol: http, port: '8977', host: IP_ADDRESS} PankoPublic: {protocol: http, port: '8977', host: IP_ADDRESS}
@ -7277,6 +7280,249 @@ 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]
PankoAdmin: PankoAdmin:
host: host:
str_replace: str_replace:

View File

@ -85,6 +85,7 @@ parameters:
# for backwards compatibility, all other roles default to internal_api # for backwards compatibility, all other roles default to internal_api
CephStorageHostnameResolveNetwork: storage CephStorageHostnameResolveNetwork: storage
EtcdNetwork: internal_api EtcdNetwork: internal_api
OpenshiftMasterNetwork: internal_api
{% for role in roles if role.name != 'CephStorage' %} {% for role in roles if role.name != 'CephStorage' %}
{{role.name}}HostnameResolveNetwork: internal_api {{role.name}}HostnameResolveNetwork: internal_api
{% endfor %} {% endfor %}

View File

@ -0,0 +1,31 @@
###############################################################################
# Role: OpenShiftMaster #
###############################################################################
- name: OpenShiftMaster
description: |
OpenShiftMaster role
CountDefault: 1
tags:
- primary
- controller
- openshift
networks:
- External
- InternalApi
- Storage
- StorageMgmt
- Tenant
# For systems with both IPv4 and IPv6, you may specify a gateway network for
# each, such as ['ControlPlane', 'External']
default_route_networks: ['External']
ServicesDefault:
- OS::TripleO::Services::Docker
- OS::TripleO::Services::Sshd
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::HAproxy
- OS::TripleO::Services::Keepalived
- OS::TripleO::Services::OpenShift::Master
- OS::TripleO::Services::OpenShift::Worker
- OS::TripleO::Services::OpenShift::GlusterFS

View File

@ -0,0 +1,23 @@
###############################################################################
# Role: OpenShiftWorker #
###############################################################################
- name: OpenShiftWorker
description: |
OpenShiftWorker role
CountDefault: 1
tags:
- openshift
networks:
- InternalApi
- Storage
- StorageMgmt
- Tenant
# For systems with both IPv4 and IPv6, you may specify a gateway network for
# each, such as ['ControlPlane', 'External']
default_route_networks: ['ControlPlane']
ServicesDefault:
- OS::TripleO::Services::Docker
- OS::TripleO::Services::Sshd
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::OpenShift::Worker
- OS::TripleO::Services::OpenShift::GlusterFS

View File

@ -182,6 +182,9 @@ 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'}
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'}
PankoPublic: {protocol: 'https', port: '13977', host: 'IP_ADDRESS'} PankoPublic: {protocol: 'https', port: '13977', host: 'IP_ADDRESS'}
@ -295,6 +298,9 @@ 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'}
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'}
PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'} PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'}
@ -408,6 +414,9 @@ 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'}
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'}
PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'} PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'}
@ -534,6 +543,9 @@ 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}
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}
PankoPublic: {protocol: http, port: '8977', host: IP_ADDRESS} PankoPublic: {protocol: http, port: '8977', host: IP_ADDRESS}