###### VARIABLES YOU SHOULD CONFIGURE FOR YOUR DEPLOYEMNT
|
###### OR PASS as "-e" args to ansible-playbook command
|
# #
|
# # env_groups:
|
# # limit: "tag_Project_opentlc_shared_{{guid}}"
|
# # bastions: "tag_AnsibleGroup_bastions"
|
# # masters: "tag_AnsibleGroup_masters"
|
# # nodes: "tag_AnsibleGroup_nodes"
|
# # infranodes: "tag_AnsibleGroup_infranodes"
|
# # nfs: "tag_AnsibleGroup_nfs"
|
|
install_ipa_client: false
|
repo_method: file
|
ocp_pvs:
|
# - es-storage
|
# - nexus
|
# - nexus2
|
# - nexus3
|
config_nfs_uservols: "true"
|
user_vols: 200
|
user_vols_size: 4Gi
|
master_api_port: 443
|
osrelease: 3.9.51
|
openshift_master_overwrite_named_certificates: true
|
deploy_openshift: true
|
deploy_openshift_post: true
|
deploy_env_post: true
|
install_metrics: true
|
install_logging: true
|
ovs_plugin: "networkpolicy" # This can also be set to: "multitenant" or "networkpolicy"
|
multi_tenant_setting: "os_sdn_network_plugin_name='redhat/openshift-ovs-{{ovs_plugin}}'"
|
cloudapps_suffix: 'apps.{{subdomain_base}}'
|
openshift_master_ldap_ca_file: 'openshift_master_ldap_ca_file=/root/ca.crt'
|
|
## If you are not part of GPTE you don't need this.
|
opentlc_integration: true
|
|
################################################################################
|
#### GENERIC EXAMPLE
|
################################################################################
|
|
install_common: true
|
install_nfs: true
|
install_glusterfs: true
|
enable_glusterfs: false
|
glusterfs_app_device_name: /dev/xvdd
|
glusterfs_app_device_size: 75
|
glusterfs_hosted_device_name: /dev/xvde
|
glusterfs_hosted_device_size: 75
|
install_bastion: false
|
env_authorized_key: "{{guid}}key"
|
set_env_authorized_key: true
|
## SB Don't set software_to_deploy from here, always use extra vars (-e) or "none" will be used
|
#software_to_deploy: "openshift"
|
################################################################################
|
#### OCP IMPLEMENATATION LAB
|
################################################################################
|
|
repo_version: '3.9'
|
cloudapps_dns: '*.apps.{{subdomain_base}}'
|
master_public_dns: "master1.{{subdomain_base}}"
|
|
################################################################################
|
#### Common host variables
|
################################################################################
|
|
update_packages: false
|
common_packages:
|
- python
|
- unzip
|
- bash-completion
|
- tmux
|
- bind-utils
|
- wget
|
- git
|
- vim-enhanced
|
- ansible
|
- net-tools
|
- iptables-services
|
- bridge-utils
|
- sos
|
- psacct
|
|
rhel_repos:
|
- rhel-7-server-rpms
|
- rhel-7-server-extras-rpms
|
- rhel-7-server-ose-{{repo_version}}-rpms
|
- rhel-7-server-ansible-2.4-rpms
|
- rh-gluster-3-client-for-rhel-7-server-rpms
|
|
use_subscription_manager: false
|
use_own_repos: true
|
#rhn_pool_id_string: "Red Hat Enterprise Linux Server"
|
rhn_pool_id_string: OpenShift Container Platform
|
|
################################################################################
|
#### nfs host settings
|
################################################################################
|
|
nfs_vg: nfsvg
|
nfs_pvs: /dev/xvdc
|
nfs_export_path: /srv/nfs
|
nfs_size: 50
|
|
nfs_shares:
|
# - jenkins
|
# - nexus
|
|
################################################################################
|
#### CLOUD PROVIDER: AWS SPECIFIC VARIABLES
|
################################################################################
|
|
#### Route 53 Zone ID (AWS)
|
HostedZoneId: ''
|
key_name: ''
|
aws_region: us-east-1
|
aws_availability_zone: "{{ aws_region }}{{ ['a','c']|random}}"
|
|
admin_user: ''
|
admin_user_password: ''
|
|
#### Connection Settings
|
ansible_user: ec2-user
|
remote_user: ec2-user
|
|
#### Networking (AWS)
|
guid: defaultguid
|
subdomain_base_short: "{{ guid }}"
|
subdomain_base_suffix: ".example.opentlc.com"
|
subdomain_base: "{{subdomain_base_short}}{{subdomain_base_suffix}}"
|
tower_run: false
|
|
#### Environment Sizing
|
|
bastion_instance_type: "t2.xlarge"
|
|
support_instance_type: "t2.medium"
|
support_instance_count: 3
|
|
node_instance_type: "t2.large"
|
node_instance_count: 1
|
|
infranode_instance_type: "t2.xlarge"
|
infranode_instance_count: 1
|
|
master_instance_type: "t2.large"
|
master_instance_count: 1
|
|
loadbalancer_instance_count: 0
|
loadbalancer_instance_type: "t2.small"
|
|
ansible_ssh_private_key_file: ~/.ssh/{{key_name}}.pem
|
|
#### VARIABLES YOU SHOULD ***NOT*** CONFIGURE FOR YOUR DEPLOYEMNT
|
#### You can, but you usually wouldn't need to.
|
|
#### CLOUDFORMATIONS vars
|
|
project_tag: "{{ env_type }}-{{ guid }}"
|
|
docker_version: "{{ '1.12.6' if repo_version | version_compare('3.9', '<') else '1.13.1' }}"
|
docker_device: /dev/xvdb
|
|
|
zone_internal_dns: "{{guid}}.internal."
|
chomped_zone_internal_dns: "{{guid}}.internal"
|
|
bastion_public_dns: "bastion.{{subdomain_base}}."
|
bastion_public_dns_chomped: "bastion.{{subdomain_base}}"
|
|
# vpcid_cidr_block: "192.168.0.0/16"
|
vpcid_name_tag: "{{subdomain_base}}"
|
|
rootfs_size_node: 50
|
rootfs_size_infranode: 50
|
rootfs_size_master: 50
|
rootfs_size_bastion: 20
|
rootfs_size_support: 20
|
rootfs_size_loadbalancer: 20
|
|
instances:
|
- name: "bastion"
|
count: 1
|
unique: true
|
public_dns: true
|
dns_loadbalancer: true
|
flavor:
|
"ec2": "{{bastion_instance_type}}"
|
tags:
|
- key: "AnsibleGroup"
|
value: "bastions"
|
- key: "ostype"
|
value: "linux"
|
rootfs_size: "{{ rootfs_size_bastion }}"
|
|
- name: "master"
|
count: "{{master_instance_count}}"
|
public_dns: true
|
dns_loadbalancer: false
|
flavor:
|
"ec2": "{{master_instance_type}}"
|
tags:
|
- key: "AnsibleGroup"
|
value: "masters"
|
- key: "ostype"
|
value: "linux"
|
rootfs_size: "{{ rootfs_size_master }}"
|
volumes:
|
- device_name: "{{docker_device}}"
|
volume_size: 20
|
volume_type: gp2
|
|
- name: "node"
|
count: "{{node_instance_count}}"
|
public_dns: false
|
dns_loadbalancer: false
|
flavor:
|
"ec2": "{{node_instance_type}}"
|
tags:
|
- key: "AnsibleGroup"
|
value: "nodes"
|
- key: "ostype"
|
value: "linux"
|
rootfs_size: "{{ rootfs_size_node }}"
|
volumes:
|
- device_name: "{{docker_device}}"
|
volume_size: 40
|
volume_type: gp2
|
|
- name: "infranode"
|
count: "{{infranode_instance_count}}"
|
public_dns: true
|
dns_loadbalancer: true
|
flavor:
|
"ec2": "{{infranode_instance_type}}"
|
tags:
|
- key: "AnsibleGroup"
|
value: "infranodes"
|
- key: "ostype"
|
value: "linux"
|
rootfs_size: "{{ rootfs_size_infranode }}"
|
volumes:
|
- device_name: "{{docker_device}}"
|
volume_size: 40
|
volume_type: gp2
|
|
- name: "support"
|
count: "{{support_instance_count}}"
|
public_dns: false
|
dns_loadbalancer: false
|
flavor:
|
"ec2": "{{support_instance_type}}"
|
tags:
|
- key: "AnsibleGroup"
|
value: "support"
|
- key: "ostype"
|
value: "linux"
|
rootfs_size: "{{ rootfs_size_support }}"
|
volumes:
|
- device_name: "{{docker_device}}"
|
volume_size: "40"
|
volume_type: gp2
|
- device_name: "{{nfs_pvs}}"
|
volume_size: "{{nfs_size}}"
|
volume_type: gp2
|
- device_name: "{{glusterfs_app_device_name}}"
|
volume_size: "{{glusterfs_app_device_size}}"
|
volume_type: gp2
|
purpose: glusterfs
|