Deploy openshift all in one in scenario009

Previously we were only deploying a master node. This commit adds the
worker and infra service to the deployed node and configures it as an
all-in-one node. In order to do so, we need to disable HAproxy when
deploying in all-in-one as the HAproxy instance Openshift deploys on
the infra node conflicts with the one we normally set up. They both
bind ports 80 and 443.

Also removes the useless ComputeServices parameter that only makes
sense in a multinode environment.

Change-Id: I6c7d1b3f2fa5c7b1d9cf695c9e021a4192e5d23a
Depends-On: Ibc98e699d34dc6ab9ff6dce0d41f275b6403d983
Depends-On: I0aa878db62e28340d019cd92769f477189886571
This commit is contained in:
Martin André 2018-09-19 15:22:20 +02:00
parent e3a17cb067
commit 81ca843ee7
3 changed files with 42 additions and 27 deletions

View File

@ -4,6 +4,7 @@ resource_registry:
OS::TripleO::Compute::Net::SoftwareConfig: ../common/net-config-multinode.yaml
OS::TripleO::Services::OpenShift::Master: ../../extraconfig/services/openshift-master.yaml
OS::TripleO::Services::OpenShift::Worker: ../../extraconfig/services/openshift-worker.yaml
OS::TripleO::Services::OpenShift::Infra: ../../extraconfig/services/openshift-infra.yaml
parameter_defaults:
@ -19,27 +20,17 @@ parameter_defaults:
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::Sshd
- OS::TripleO::Services::HAproxy
- OS::TripleO::Services::Keepalived
# 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
ComputeServices:
- OS::TripleO::Services::DisableUnbound
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::Docker
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::Sshd
- 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,docker_image_availability
# NOTE(mandre) keep this until overcloud-full has dbus-python
# https://review.openstack.org/#/c/574674/
l_install_base_packages: true

View File

@ -63,11 +63,16 @@ parameters:
default: {}
description: Global Ansible variables for OpenShift-Ansible installer.
type: json
# TODO(mandre) Add as a inventory group var
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.
@ -98,6 +103,18 @@ resources:
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
@ -139,6 +156,11 @@ outputs:
when: step == '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:
@ -164,9 +186,6 @@ outputs:
skip_version: true
# Fatal and Errors only
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]}
# Local Registry
openshift_examples_modify_imagestreams: true
oreg_url:
@ -186,10 +205,9 @@ outputs:
- {get_param: OpenShiftGlobalVariables}
tripleo_stack_action: {get_param: StackAction}
openshift_master_node_vars: {get_param: OpenShiftMasterNodeVars}
- name: set role facts for generating inventory
set_fact:
tripleo_role_name: {get_param: RoleName}
openshift_master_cluster_vars:
openshift_master_cluster_hostname: {get_param: [EndpointMap, OpenshiftPublic, host]}
openshift_master_cluster_public_hostname: {get_param: [EndpointMap, OpenshiftPublic, host]}
# NOTE(flaper87): Check if origin-node is running in the openshift
# nodes so we can flag the node as new later on.
@ -272,6 +290,11 @@ outputs:
new_nodes: {}
{% if groups['openshift_glusterfs'] | default([]) %}glusterfs: {}{% endif %}
- name: combine cluster setting
set_fact:
openshift_global_vars: "{{ openshift_global_vars | combine(openshift_master_cluster_vars) }}"
when: 'tripleo_node_group_name != "node-config-all-in-one"'
- name: generate openshift global vars
copy:
dest: "{{playbook_dir}}/openshift/global_vars.yml"

View File

@ -26,8 +26,9 @@
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::HAproxy
- OS::TripleO::Services::Keepalived
# 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