cookbook 'cookbook-openshift3', '= 1.0.7'
cookbook-openshift3
(157) Versions
1.0.7
-
-
2.1.26
-
2.1.25
-
2.1.24
-
2.1.23
-
2.1.21
-
2.1.19
-
2.1.18
-
2.1.17
-
2.1.14
-
2.1.13
-
2.1.11
-
2.1.9
-
2.1.8
-
2.1.7
-
2.1.6
-
2.1.5
-
2.1.4
-
2.1.3
-
2.1.2
-
2.1.1
-
2.1.0
-
2.0.90
-
2.0.88
-
2.0.86
-
2.0.85
-
2.0.83
-
2.0.82
-
2.0.77
-
2.0.76
-
2.0.75
-
2.0.74
-
2.0.72
-
2.0.71
-
2.0.69
-
2.0.68
-
2.0.66
-
2.0.65
-
2.0.64
-
2.0.63
-
2.0.62
-
2.0.60
-
2.0.58
-
2.0.57
-
2.0.55
-
2.0.54
-
2.0.53
-
2.0.52
-
2.0.51
-
2.0.50
-
2.0.49
-
2.0.48
-
2.0.47
-
2.0.46
-
2.0.45
-
2.0.44
-
2.0.43
-
2.0.42
-
2.0.41
-
2.0.33
-
2.0.32
-
2.0.29
-
2.0.28
-
2.0.27
-
2.0.26
-
2.0.24
-
2.0.23
-
2.0.22
-
2.0.21
-
2.0.20
-
2.0.19
-
2.0.18
-
2.0.15
-
2.0.14
-
2.0.13
-
2.0.12
-
2.0.10
-
2.0.9
-
2.0.7
-
2.0.6
-
2.0.5
-
1.10.67
-
1.10.66
-
1.10.64
-
1.10.63
-
1.10.62
-
1.10.61
-
1.10.60
-
1.10.59
-
1.10.58
-
1.10.57
-
1.10.56
-
1.10.55
-
1.10.54
-
1.10.53
-
1.10.52
-
1.10.51
-
1.10.50
-
1.10.49
-
1.10.48
-
1.10.47
-
1.10.46
-
1.10.45
-
1.10.44
-
1.10.43
-
1.10.42
-
1.10.41
-
1.10.40
-
1.10.39
-
1.10.38
-
1.10.37
-
1.10.36
-
1.10.35
-
1.10.34
-
1.10.33
-
1.10.32
-
1.10.31
-
1.10.30
-
1.10.29
-
1.10.28
-
1.10.27
-
1.10.26
-
1.10.25
-
1.10.24
-
1.10.23
-
1.10.22
-
1.10.21
-
1.10.20
-
1.10.19
-
1.10.18
-
1.10.17
-
1.10.16
-
1.10.15
-
1.10.14
-
1.10.13
-
1.10.12
-
1.10.11
-
1.10.10
-
1.10.9
-
1.10.8
-
1.10.7
-
1.10.6
-
1.10.5
-
1.10.4
-
1.10.3
-
1.10.2
-
1.10.1
-
1.10.0
-
1.0.9
-
1.0.8
-
1.0.7
-
1.0.6
-
1.0.5
-
1.0.4
-
1.0.3
-
1.0.2
-
0.0.2
-
0.0.1
Follow6
- 2.1.26
- 2.1.25
- 2.1.24
- 2.1.23
- 2.1.21
- 2.1.19
- 2.1.18
- 2.1.17
- 2.1.14
- 2.1.13
- 2.1.11
- 2.1.9
- 2.1.8
- 2.1.7
- 2.1.6
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.90
- 2.0.88
- 2.0.86
- 2.0.85
- 2.0.83
- 2.0.82
- 2.0.77
- 2.0.76
- 2.0.75
- 2.0.74
- 2.0.72
- 2.0.71
- 2.0.69
- 2.0.68
- 2.0.66
- 2.0.65
- 2.0.64
- 2.0.63
- 2.0.62
- 2.0.60
- 2.0.58
- 2.0.57
- 2.0.55
- 2.0.54
- 2.0.53
- 2.0.52
- 2.0.51
- 2.0.50
- 2.0.49
- 2.0.48
- 2.0.47
- 2.0.46
- 2.0.45
- 2.0.44
- 2.0.43
- 2.0.42
- 2.0.41
- 2.0.33
- 2.0.32
- 2.0.29
- 2.0.28
- 2.0.27
- 2.0.26
- 2.0.24
- 2.0.23
- 2.0.22
- 2.0.21
- 2.0.20
- 2.0.19
- 2.0.18
- 2.0.15
- 2.0.14
- 2.0.13
- 2.0.12
- 2.0.10
- 2.0.9
- 2.0.7
- 2.0.6
- 2.0.5
- 1.10.67
- 1.10.66
- 1.10.64
- 1.10.63
- 1.10.62
- 1.10.61
- 1.10.60
- 1.10.59
- 1.10.58
- 1.10.57
- 1.10.56
- 1.10.55
- 1.10.54
- 1.10.53
- 1.10.52
- 1.10.51
- 1.10.50
- 1.10.49
- 1.10.48
- 1.10.47
- 1.10.46
- 1.10.45
- 1.10.44
- 1.10.43
- 1.10.42
- 1.10.41
- 1.10.40
- 1.10.39
- 1.10.38
- 1.10.37
- 1.10.36
- 1.10.35
- 1.10.34
- 1.10.33
- 1.10.32
- 1.10.31
- 1.10.30
- 1.10.29
- 1.10.28
- 1.10.27
- 1.10.26
- 1.10.25
- 1.10.24
- 1.10.23
- 1.10.22
- 1.10.21
- 1.10.20
- 1.10.19
- 1.10.18
- 1.10.17
- 1.10.16
- 1.10.15
- 1.10.14
- 1.10.13
- 1.10.12
- 1.10.11
- 1.10.10
- 1.10.9
- 1.10.8
- 1.10.7
- 1.10.6
- 1.10.5
- 1.10.4
- 1.10.3
- 1.10.2
- 1.10.1
- 1.10.0
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 0.0.2
- 0.0.1
Installs/Configures Openshift 3.x (>= 3.4)
cookbook 'cookbook-openshift3', '= 1.0.7', :supermarket
knife supermarket install cookbook-openshift3
knife supermarket download cookbook-openshift3
Description
- Installs OSEv3 and related packages.
Requirements
Platform
- Tested on Red Hat RHEL 7.2
- Tested on Centos 7.2
Openshift Version
- Support OSE version from 3.1.0.4+
- Support Origin version from 1.1.1+
Override Attributes
Common setting
-
node['cookbook-openshift3']['openshift_deployment_type']
= Set the deployment type for OSE ('origin' or 'enterprise'). Default to 'enterprise' -
node['cookbook-openshift3']['openshift_common_public_hostname']
= Set the master public hostname. Default to 'ohai fqdn' -
node['cookbook-openshift3']['openshift_HA']
- Set whether or not to deploy a highly-available services for OSE. Default to 'false' -
node['cookbook-openshift3']['docker_version']
- Set the version of Docker to be installed. Default to 'nil' -
node['cookbook-openshift3']['install_method']
- Set the installing method for packing. Default to 'yum' -
node['cookbook-openshift3']['yum_repositories']
= Set the yum repositories. yum_repos -
node['cookbook-openshift3']['httpd_xfer_port']
= Set the port used for retrieving certificates. Default to '9999' -
node['cookbook-openshift3']['set_nameserver']
= Set the nameserver(s) for the host. Default to 'false' -
node['cookbook-openshift3']['register_dns']
= Set the registration of the host against the SOA nameserver. Default to 'false' -
node['cookbook-openshift3']['core_packages']
= Set the list of the pre-requisite packages. Default to ['libselinux-python', 'wget', 'vim-enhanced', 'net-tools', 'bind-utils', 'git', 'bash-completion docker', 'bash-completion'] -
node['cookbook-openshift3']['osn_cluster_dns_domain']
= Set the SkyDNS domain name. Default to 'cluster.local' -
node['cookbook-openshift3']['enabled_firewall_additional_rules_node']
= Set the list of additional FW rules to set for a node. Default to '[]' -
node['cookbook-openshift3']['openshift_data_dir']
= Set the default directory for OSE data. Default to '/var/lib/origin' -
node['cookbook-openshift3']['openshift_master_cluster_password']
= Set the default password for the pcs administration account. Default 'openshift_cluster' -
node['cookbook-openshift3']['openshift_common_master_dir']
= Set the default root directory for master. Default '/etc/origin' -
node['cookbook-openshift3']['openshift_common_node_dir']
= Set the default root directory for node. Default '/etc/origin' -
node['cookbook-openshift3']['openshift_common_portal_net']
= Set the default user-defined networks for Kubernetes. Default to '172.17.0.0/16' -
node['cookbook-openshift3']['openshift_docker_insecure_registry_arg']
= Set the list of insecure registries for Docker. Default to 'nil' -
node['cookbook-openshift3']['openshift_docker_add_registry_arg']
= Set the list of registries to add to Docker. Default to 'nil' -
node['cookbook-openshift3']['openshift_docker_block_registry_arg']
= Set the list of registries to block in Docker. Default to 'nil' -
node['cookbook-openshift3']['openshift_common_default_nodeSelector']
= Set the default label for node selector. Default to 'region=user' -
node['cookbook-openshift3']['openshift_common_infra_label']
= Set the default label for Infra project (default, openshift-infra). Default to 'region=infra' -
node['cookbook-openshift3']['openshift_common_examples_base']
= '/usr/share/openshift/examples' -
node['cookbook-openshift3']['openshift_common_hostname']
= Set the master common name. Default to 'ohai fqdn' -
node['cookbook-openshift3']['openshift_common_ip']
= Set the default IP for the node. Default to 'ohai ipaddress' -
node['cookbook-openshift3']['openshift_common_infra_project']
= Set the list of default Infra project. Default to ['default', 'openshift-infra'] -
node['cookbook-openshift3']['openshift_common_service_accounts_additional']
= Set the list of additional service accounts to create. Default to '[]' -
node['cookbook-openshift3']['openshift_common_use_openshift_sdn']
= Set whether or not to use SDN network. Default to 'true' -
node['cookbook-openshift3']['openshift_common_sdn_network_plugin_name']
= Set the default SDN plugin name. Default to 'redhat/openshift-ovs-subnet' -
node['cookbook-openshift3']['openshift_common_registry_url']
= Set the default registry URL. Default to 'openshift3/ose-${component}:${version}' -
node['cookbook-openshift3']['openshift_master_bind_addr']
= Set default bind address. Default to '0.0.0.0' -
node['cookbook-openshift3']['openshift_master_api_port']
= Set default listening port for Master API. Default to '8443' -
node['cookbook-openshift3']['openshift_master_console_port']
= Set the default listening port for console. Default to '8443' -
node['cookbook-openshift3']['openshift_master_controllers_port']
= Set the default listening port for controllers. Default '8444' -
node['cookbook-openshift3']['openshift_master_controller_lease_ttl']
= Set the default lease TTL for controllers. Default '30' -
node['cookbook-openshift3']['openshift_master_embedded_dns']
= Set whether or not to use the embedded DNS. Default to 'true' -
node['cookbook-openshift3']['openshift_master_embedded_kube']
= Set whether ot not the use the embedded kubernete server. Default to 'true' -
node['cookbook-openshift3']['openshift_master_debug_level']
= Set the default level for master logging. Default to '2' -
node['cookbook-openshift3']['openshift_master_dns_port']
= Set the default port for SkyDNS. Default to '53' -
node['cookbook-openshift3']['openshift_master_label']
= Set the default label for master selector. Default to 'region=infra' -
node['cookbook-openshift3']['openshift_master_generated_configs_dir']
= Set the default directory for generating the node certificates. Default to '/var/www/html/generated-configs' -
node['cookbook-openshift3']['openshift_master_router_subdomain']
= Set the default domain for the HaProxy routeaProxy. Default to 'cloudapps.domain.local' -
node['cookbook-openshift3']['openshift_master_sdn_cluster_network_cidr']
= Set the default SDN Network address. Default to '10.1.0.0/16' -
node['cookbook-openshift3']['openshift_master_sdn_host_subnet_length']
= Set the default number of allocated bit for hosts. Default to '8' -
node['cookbook-openshift3']['openshift_master_session_max_seconds']
= Set maximum session time in second. Default to '3600' -
node['cookbook-openshift3']['openshift_master_access_token_max_seconds']
= Set maximum access token lifetime in second. Default to '86400' -
node['cookbook-openshift3']['openshift_master_auth_token_max_seconds']
= Set maximum Oauth token lifetime in second. Default to '500' -
node['cookbook-openshift3']['openshift_node_debug_level']
= Set the default level for node logging. Default to '2' -
node['cookbook-openshift3']['openshift_node_iptables_sync_period']
= Set the default kube-proxy iptables sync period. Default to '5s' -
node['cookbook-openshift3']['openshift_node_max_pod']
= Set the maximum number of running PODs on a node. Default to '40' -
node['cookbook-openshift3']['openshift_node_sdn_mtu_sdn']
= Set the default MTU size for SDN. Default '1450' -
node['cookbook-openshift3']['master_generated_certs_dir']
= Set the default directory for generating the master certificates. Default to '/var/www/html/master/generated_certs' -
node['cookbook-openshift3']['etcd_generated_certs_dir']
= Set the default directory for generating the etcd certificates. Default to '/var/www/html/etcd/generated_certs' -
node['cookbook-openshift3']['etcd_conf_dir']
= Set the default root directory for etcd configs. Default to '/etc/etcd' -
node['cookbook-openshift3']['etcd_initial_cluster_token']
= 'etcd-cluster-1' -
node['cookbook-openshift3']['etcd_data_dir']
= Set the default root directory for etcd data. Default to '/var/lib/etcd/' -
node['cookbook-openshift3']['etcd_client_port']
= Set default listening port for ETCD Client. Default to '2379' -
node['cookbook-openshift3']['etcd_peer_port']
= Set default listening port for ETCD Peer. Default to '2380'
Highly-available setting
-
node['cookbook-openshift3']['openshift_cluster_name']
= Set the cluster public hostname. Default to 'nil' -
node['cookbook-openshift3']['openshift_master_cluster_vip']
= Set the cluster public IP address (Mandatory when using Pacemaker deployment). Default to 'nil' -
node['cookbook-openshift3']['openshift_HA_method']
= Set the HA Master method ('native' or 'pacemaker'). Default to 'native'
Identity Provider setting
-
node['cookbook-openshift3']['oauth_Identity']
= Set the default identity provider ('HTPasswdPasswordIdentityProvider', 'LDAPPasswordIdentityProvider', 'RequestHeaderIdentityProvider'). Default to 'HTPasswdPasswordIdentityProvider'
Structure
node['cookbook-openshift3']['openshift_master_identity_provider']['HTPasswdPasswordIdentityProvider']
{ "name" : "htpasswd_auth", "login" : true, "challenge" : true, "kind" : "HTPasswdPasswordIdentityProvider", "filename" : "/etc/openshift/openshift-passwd" }
node['cookbook-openshift3']['openshift_master_identity_provider']['LDAPPasswordIdentityProvider']
{ "name" : "ldap_identity", "login" : true, "challenge" : true, "kind" : "LDAPPasswordIdentityProvider", "ldap_server" : "ldap.domain.local", "ldap_bind_dn" : "", "ldap_bind_password" : "", "ldap_insecure" : true, "ldap_base_ou" : "OU=people,DC=domain,DC=local", "ldap_preferred_username" : "uid" }
node['cookbook-openshift3']['openshift_master_asset_config']
{ "extensionStylesheets":["/path/to/css"], "extensionScripts":["/path/to/script"], "extensions":"/path/to/my_images", "templates":"/path/to/template" }
-
node['cookbook-openshift3']['nameserver']
{ "search": "domain.local", "domain": "domain.local", "nameservers": ["8.8.8.8","8.8.4.4"], "key_algorithm": "hmac-md5", "key_name": "domain.local.key", "key_secret": "DTngw5O8I5Axx631GjQ9pA==" }
node['cookbook-openshift3']['openshift_node_docker-storage']
{ "DEVS": ["/dev/sdb","/dev/sdc"], "VG": "docker-vg", "DATA_SIZE": "80%FREE" }
node['cookbook-openshift3']['openshift_master_named_certificates']
CN or SAN names are automatically detected from the certificate file.
[ { "certfile": "/etc/where_is/my_certfile", "keyfile": "/etc/where_is/my_keyfile" } ]
=====
Include the recipes in roles so as to ease the deployment.
Roles (Examples)
- BASE
{ "name": "base", "description": "Common Base Role", "json_class": "Chef::Role", "default_attributes": { }, "override_attributes": { }, "chef_type": "role", "run_list": [ "recipe[cookbook-openshift3]", "recipe[cookbook-openshift3::common]" ], "env_run_lists": { } }
- COMMON-MASTER
{ "name": "common-master", "description": "Common Master Role", "json_class": "Chef::Role", "default_attributes": { }, "override_attributes": { }, "chef_type": "role", "run_list": [ "role[base]", "recipe[cookbook-openshift3::master]" ], "env_run_lists": { } }
- COMMON-NODE
{ "name": "common-node", "description": "Common Node Role", "json_class": "Chef::Role", "default_attributes": { }, "override_attributes": { }, "chef_type": "role", "run_list": [ "role[base]", "recipe[cookbook-openshift3::node]" ], "env_run_lists": { } }
ENVIRONMENT
Create at least 3 environments which would be assigned to nodes based on their profiles (single, cluster-native, cluster-pcs).
Modify the attributes as required in your environments to change how various configurations are applied per the attributes section above.
In general, override attributes in the environment should be used when changing attributes.
Minimal example
- CLUSTER-NATIVE
{ "name": "cluster_native", "description": "", "cookbook_versions": { }, "json_class": "Chef::Environment", "chef_type": "environment", "default_attributes": { }, "override_attributes": { "cookbook-openshift3": { "openshift_HA": true, "openshift_cluster_name": "ose-cluster.domain.local", "openshiftv3-master_label": "common-master", "openshiftv3-master_cluster_label": "common-master", "openshiftv3-etcd_cluster_label": "common-master", "openshiftv3-node_label": "common-node" } } }
- CLUSTER-PCS
{ "name": "cluster_pcs", "description": "", "cookbook_versions": { }, "json_class": "Chef::Environment", "chef_type": "environment", "default_attributes": { }, "override_attributes": { "cookbook-openshift3": { "openshift_HA": true, "openshift_HA_method": "pcs", "openshift_master_cluster_vip": "192.168.124.99", "openshift_cluster_name": "ose-cluster.domain.local", "openshiftv3-master_label": "common-master", "openshiftv3-master_cluster_label": "common-master", "openshiftv3-etcd_cluster_label": "common-master", "openshiftv3-node_label": "common-node" } } }
- SINGLE
{ "name": "single", "description": "", "cookbook_versions": { }, "json_class": "Chef::Environment", "chef_type": "environment", "default_attributes": { }, "override_attributes": { "cookbook-openshift3": { "openshiftv3-master_label": "common-master", "openshiftv3-node_label": "common-node" } } }
Once it is done you should assign the node to the relevant environment.
knife node environment set NODE_NAME ENVIRONMENT_NAME
LWRP
Create a DNS record using LWRP - ose_reghost
ose_reghost node["fqdn"] do type :a keyalgo "HMAC-MD5" keyname "example.com" keysecret "ddwDEdeedEEEdddd=ee=de==" action :create end
Delete a DNS record using LWRP - ose_reghost
ose_reghost node["fqdn"] do type :a keyalgo "HMAC-MD5" keyname "example.com" keysecret "ddwDEdeedEEEdddd=ee=de==" action :delete end
ose_setup_cluster 'Setup Pacemaker' do master_hosts ['1.1.1.1', '2.2.2.2', '3.3.3.3'] cluster_password 'password_for_pacemaker' action :setup end
ose_setup_cluster 'Wait until the VIP is up and running on the master server' do action :init end
Run list
- MASTER ONLY
knife node run_list add NODE_NAME 'role[common-master], recipe[cookbook-openshift3::node_config_post]'
- NODE ONLY
knife node run_list add NODE_NAME 'role[common-node]'
- ALL IN THE BOX (MASTER + NODE)
knife node run_list add NODE_NAME 'role[common-master], role[common-node], recipe[cookbook-openshift3::node_config_post]'
Test (ORIGIN)
There is a way to quickly test this cookbook.
You will need a CentOS 7.1+ with "Minimal" installation option and at least 10GB left on the Volume group. (Later used by Docker)
- Deploy ORIGIN ALL IN THE BOX Flavour (MASTER + NODE)
bash <(curl -s https://raw.githubusercontent.com/IshentRas/cookbook-openshift3/master/origin_deploy.sh)
Development
License and Author
Author: William Burton (wburton@redhat.com)
The MIT License (MIT)
Copyright (C) 2014 OpenBet Limited
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Dependent cookbooks
iptables >= 2.0.0 |
selinux_policy >= 0.0.0 |
yum >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
Openshift 3 Cookbook CHANGELOG
This file is used to list changes made in each version of the Openshift 3 cookbook.
v1.0.7
Improvement
- Add possibility to disable yum repositories
- Fix etcd certificate (Simplify the call for peers members)
- Add possibility to specify a version to be installed for docker
Bug
- Fix permissions for directory (Set to Apache in case of a dodgy umask number)
v1.0.6
Improvement
- Add delay/retry before installing servcieaccount
- Change xip.io for nip.io (STABLE)
Bug
- Fix scripts/origin_deploy.sh
- Fix hostname for origin_deploy.sh
v1.0.5
Bug
- Fix bug when enabling HTTPD at startup
v1.0.4
Improvement
- Detect the CN or SAN from certificates file when using named certificates.
- Move origin_deploy.sh in scripts folder
Bug
- Enable HTTPD at startup
- Fix some typos
v1.0.3
Improvement
- Add possibility to customise docker-storage-setup
- Add possibility for configuring Custom Certificates
v1.0.2
Improvement
- Add MIT LICENCE model
- Add script to auto deploy origin instance
- Add the possibility to exclude packages from updates or installs
Bug fix
- Fix attributes labelling when using chef in local mode (or solo)
- Remove specific mentions to OSE
v0.0.1
- Current public release
Foodcritic Metric
1.0.7 passed this metric
1.0.7 passed this metric