Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
140 commits
Select commit Hold shift + click to select a range
966e031
Mod startup script to publish all frontend binds
cwilkers Nov 6, 2017
aef8746
Uninstall tuned-profiles-atomic-openshift-node as defined in origin.spec
jmencak Nov 16, 2017
b927909
Add external_svc_subnet for k8s loadbalancer type service
jihoon5 Nov 24, 2017
e05e4d3
Fix syntax error caused by an extra paren
tomassedovic Nov 29, 2017
6911792
Fix the env lookup fallback in rhel_subscribe
tomassedovic Nov 29, 2017
1c0c502
Optionally subscribe OpenStack RHEL nodes
tomassedovic Nov 29, 2017
f6fd3a1
Fix inventory symlinks in origin-ansible container.
dgoodwin Nov 30, 2017
2f76a59
Playbook Consolidation - openshift-logging
mtnbikenc Nov 16, 2017
2c65e69
Add v3.9 support
sdodson Nov 30, 2017
9562adf
Remove reading shell environment in rhel_subscribe
tomassedovic Dec 1, 2017
576e06f
Revert "Fix the env lookup fallback in rhel_subscribe"
tomassedovic Dec 1, 2017
cbb252e
Revert "Fix syntax error caused by an extra paren"
tomassedovic Dec 1, 2017
bd2335f
Remove shell environment lookup
tomassedovic Dec 1, 2017
f3e9b50
Fix tox
tomassedovic Dec 1, 2017
0b80aca
Playbook Consolidation - Redeploy Certificates
mtnbikenc Dec 1, 2017
5120f8e
Implement container runtime role
michaelgugino Nov 16, 2017
1ad7dee
Adding 3.9 tito releaser
smunilla Dec 1, 2017
b62ec2d
Merge pull request #6321 from sdodson/v3_9
sdodson Dec 2, 2017
a1e3235
Cleanup unused openstack provider code
bogdando Dec 4, 2017
1a3800d
Bumping to 3.9
smunilla Dec 4, 2017
b72517f
Allow number of retries in openshift_management to be configurable
Dec 4, 2017
cbee76e
Remove the ose_version check
tomassedovic Dec 4, 2017
01fc87d
Use openshift_release instead of ose_version
tomassedovic Dec 4, 2017
165dc12
Use openshift testing repos for openstack
bogdando Dec 4, 2017
2eecb80
Merge pull request #6344 from elad661/management-configurable-retries
sdodson Dec 4, 2017
4112352
Merge pull request #6324 from mtnbikenc/consolidate-redeploy-certific…
openshift-merge-robot Dec 4, 2017
64d46c5
Remove unused protected_facts_to_overwrite
michaelgugino Dec 4, 2017
5a7b6be
Merge pull request #6297 from mgugino-upstream-stage/crt_role
sdodson Dec 4, 2017
87b7d5a
Document testing repos for dev purposes
bogdando Dec 5, 2017
327133e
Remove duplicate init import in network_manager.yml
mtnbikenc Dec 5, 2017
351785e
Merge pull request #6345 from bogdando/openstack_openshift_testing_repos
sdodson Dec 5, 2017
0de559c
Fix hosted vars
michaelgugino Nov 29, 2017
40ccc16
Merge pull request #6341 from bogdando/openstack_cleanup_static
michaelgugino Dec 5, 2017
f810669
Fix and cleanup not required dns bits
bogdando Dec 4, 2017
0c1df97
Fix oreg_auth_credentials_create register var
michaelgugino Dec 5, 2017
e64cc7d
Merge pull request #6357 from mgugino-upstream-stage/fix-container-re…
sdodson Dec 5, 2017
03f5d82
Merge pull request #6306 from mgugino-upstream-stage/fix-hosted-vars
sdodson Dec 5, 2017
968f614
Merge pull request #6154 from mtnbikenc/consolidate-openshift-logging
sdodson Dec 5, 2017
be5ef95
Get the correct value out of openshift_release
tomassedovic Dec 5, 2017
8dc9385
Don't check for the deployment_type
tomassedovic Dec 5, 2017
9b4f161
Remove entry point files no longer needed by CI
mtnbikenc Dec 5, 2017
259272f
Remove all references to pacemaker (pcs, pcsd) and openshift.master.c…
abutcher Nov 16, 2017
b879f67
Merge pull request #6155 from abutcher/remove-pacemaker
sdodson Dec 5, 2017
415fc54
bug 1519622. Disable rollback of ES DCs
jcantrill Dec 5, 2017
112e169
Playbook Consolidation - etcd Upgrade
mtnbikenc Dec 5, 2017
fc48675
Fix generate_pv_pvcs_list plugin undef
michaelgugino Dec 5, 2017
6a1f689
Add missing symlinks in openshift-logging
mtnbikenc Dec 6, 2017
aceb7a2
Merge pull request #6350 from mtnbikenc/fix-dup-import
mtnbikenc Dec 6, 2017
4ef9590
Merge pull request #6360 from mtnbikenc/remove-legacy-ci-entry
mtnbikenc Dec 6, 2017
349d0bb
Merge pull request #6370 from mtnbikenc/fix-openshift-logging
sdodson Dec 6, 2017
9099dc4
Merge pull request #6340 from bogdando/openstack_cleanup_dns
sdodson Dec 6, 2017
50751e3
Include Deprecation: Convert to include_tasks
mtnbikenc Dec 6, 2017
de75634
Fix ami building.
Dec 6, 2017
dc5d68f
Merge pull request #6366 from mgugino-upstream-stage/fix-pv-plugin
michaelgugino Dec 6, 2017
2dade26
openshift_logging_kibana: fix mixing paren
sosiouxme Dec 6, 2017
4326fb7
Merge pull request #6376 from sosiouxme/20171206-logging-vars-typo
sosiouxme Dec 6, 2017
192a8c1
Merge pull request #6034 from cwilkers/containerized-lb-portfix
sdodson Dec 6, 2017
cccdd4a
Playbook Consolidation - byo/config.yml
mtnbikenc Dec 4, 2017
2124109
Merge pull request #6373 from kwoodson/ami_build_container_runtime
Dec 7, 2017
4bcb536
Merge pull request #6254 from jihoon5/jihoon5
michaelgugino Dec 7, 2017
2249ba3
Implement container_runtime playbooks and changes
michaelgugino Dec 5, 2017
5a13532
Merge pull request #6310 from tomassedovic/openstack-rhel-subscription
michaelgugino Dec 7, 2017
13ca9bb
Remove all uses of openshift.common.admin_binary
sdodson Dec 7, 2017
e5faa36
Merge pull request #6372 from mtnbikenc/include-to-include_tasks
openshift-merge-robot Dec 7, 2017
6b8e080
add 3.8 templates for gluster ep and svc
mjudeikis Dec 7, 2017
9ee49e0
Merge pull request #6361 from mtnbikenc/consolidate-deploy-cluster
sdodson Dec 7, 2017
54175f4
Merge pull request #6365 from mtnbikenc/consolidate-etcd-upgrade
mtnbikenc Dec 7, 2017
33b1271
Merge pull request #6362 from mgugino-upstream-stage/crt-plays
sdodson Dec 7, 2017
e64462a
Include Deprecation: Convert to import_playbook
mtnbikenc Dec 6, 2017
e292ecd
Fix incorrect register name master registry auth
michaelgugino Dec 7, 2017
65cb13e
Merge pull request #6346 from mgugino-upstream-stage/remove-protected…
michaelgugino Dec 7, 2017
d763135
Remove unused openshift_env_structures and openshift_env
michaelgugino Dec 5, 2017
37ffebc
Merge pull request #6380 from sdodson/oc-adm
sdodson Dec 7, 2017
eb6b20f
Remove openshift.common.service_type
michaelgugino Nov 27, 2017
f3b7437
Merge pull request #6387 from mgugino-upstream-stage/fix-auth-stat
sdodson Dec 7, 2017
d6ea0d5
Merge pull request #6371 from mtnbikenc/include-to-import_playbook
openshift-merge-robot Dec 7, 2017
1843ab8
add 3.8 templates for gluster ep and svc
sosiouxme Dec 7, 2017
bb54b2f
Merge pull request #6385 from mjudeikis/hosted-template-var
sdodson Dec 7, 2017
58b3dd4
Add os_firewall to prerequisites.yml
michaelgugino Dec 8, 2017
7834423
Update deprecation checks - include:
mtnbikenc Dec 8, 2017
2af8419
Merge pull request #6394 from mgugino-upstream-stage/os_firewall-prer…
sdodson Dec 8, 2017
0f98871
Merge pull request #6278 from mgugino-upstream-stage/service_type
michaelgugino Dec 8, 2017
5cd32d4
Merge pull request #6364 from mgugino-upstream-stage/remove-openshift…
michaelgugino Dec 8, 2017
0e41e51
Check for openshift attribute before using it during CNS install.
jmencak Dec 8, 2017
0beab18
Merge pull request #6398 from mtnbikenc/update-deprecation-checks
openshift-merge-robot Dec 8, 2017
2ae1a09
crio: define and use l_is_node_system_container
giuseppe Nov 29, 2017
26472ab
openshift_version: add dependency to container_runtime
giuseppe Dec 6, 2017
5ee8df8
openshift_version: define openshift_use_crio_only
giuseppe Dec 6, 2017
7d7c4f3
openshift_version: add dependency to openshift_facts
giuseppe Dec 6, 2017
9c29b47
container-engine: log-opts is a dictionary in the daemon.json file
giuseppe Dec 6, 2017
5431d12
container-engine: skip openshift_docker_log_driver when it is False
giuseppe Dec 6, 2017
40d63b7
openshift_node: reintroduce restart of CRI-O.
giuseppe Dec 6, 2017
8b48428
Merge pull request #6316 from giuseppe/fix-syscontainers-installation
sdodson Dec 8, 2017
63c3eb2
Remove container_runtime from the openshift_version
sdodson Dec 8, 2017
b601aa0
Merge pull request #6320 from dgoodwin/containerized-inventory-symlink
openshift-merge-robot Dec 8, 2017
091acb2
Merge pull request #6323 from tomassedovic/rhel-subscribe
michaelgugino Dec 8, 2017
7503aa2
Clarify version selection in README
michaelgugino Dec 8, 2017
7b4c678
Merge pull request #6356 from jcantrill/1519622_disable_revision_history
jcantrill Dec 8, 2017
c0f7152
Merge pull request #6136 from jmencak/tuned-uninstall-bz1509129
sdodson Dec 8, 2017
2bf65cd
Cleanup byo references
mtnbikenc Dec 8, 2017
ed4d3fb
Remove unneeded embedded etcd logic
michaelgugino Dec 8, 2017
54fe1e3
Merge pull request #6399 from mtnbikenc/cleanup-byo-refs
openshift-merge-robot Dec 8, 2017
c45e751
Automatic commit of package [openshift-ansible] release [3.9.0-0.1.0].
smunilla Dec 9, 2017
8dd4ed7
Add openshift_facts to upgrade plays for service_type
michaelgugino Dec 9, 2017
c29a7a9
Add missing dependencies on openshift_facts role
sdodson Dec 11, 2017
886f6ca
Merge pull request #6406 from sdodson/remove-cr-dep
openshift-merge-robot Dec 11, 2017
cf4ec9c
Allow 2 sets of hostnames for openstack provider
bogdando Dec 7, 2017
26fd036
Fix openshift hosted registry rollout
mtnbikenc Dec 11, 2017
178ff73
GlusterFS: Add playbook doc note
jarrpa Dec 7, 2017
d899938
Merge pull request #6422 from jarrpa/glusterfs-doc
sdodson Dec 11, 2017
e5f1b86
Merge pull request #6421 from mtnbikenc/fix-hosted-registry
sdodson Dec 11, 2017
d454692
Copying upstream fix for ansible 2.4 ec2_group module.
Dec 7, 2017
54c10a0
Automatic commit of package [openshift-ansible] release [3.9.0-0.2.0].
smunilla Dec 11, 2017
953eedd
correct ansible-playbook command syntax
Dec 11, 2017
be43937
Merge pull request #6416 from mgugino-upstream-stage/upgrades-service…
openshift-merge-robot Dec 11, 2017
f894bcf
Merge pull request #6425 from joelddiaz/aws-readme
openshift-merge-robot Dec 11, 2017
c714902
remove integration tests from tox
sosiouxme Dec 11, 2017
35cce25
Merge pull request #6402 from jmencak/cns-glusterfs_wipe
sdodson Dec 11, 2017
14f3211
Merge pull request #6427 from sosiouxme/20171211-excise-integration-t…
sosiouxme Dec 11, 2017
8a681af
Automatic commit of package [openshift-ansible] release [3.9.0-0.3.0].
smunilla Dec 11, 2017
dc53739
Bump RPM version requirement
sdodson Dec 11, 2017
39c5f94
add openshift_master_api_port var to example inventory
Dec 11, 2017
a53b8f6
Merge pull request #6393 from kwoodson/ansible_2.4_sg_fix
sdodson Dec 11, 2017
35ad201
Merge pull request #6418 from sdodson/bz1424102
openshift-merge-robot Dec 11, 2017
35c1abb
Changing the node group format to a list.
Dec 2, 2017
24a48f8
Automatic commit of package [openshift-ansible] release [3.9.0-0.4.0].
smunilla Dec 11, 2017
cf1c664
Merge pull request #6414 from mgugino-upstream-stage/remove-embedded-…
openshift-merge-robot Dec 12, 2017
cd5db1f
Automatic commit of package [openshift-ansible] release [3.9.0-0.5.0].
smunilla Dec 12, 2017
c86e136
Merge pull request #6433 from joelddiaz/example-inventory-master-port
openshift-merge-robot Dec 12, 2017
d00e5f4
Merge pull request #6381 from bogdando/dns_hostname_prefixes
openshift-merge-robot Dec 12, 2017
0b6fa3d
Automatic commit of package [openshift-ansible] release [3.9.0-0.6.0].
smunilla Dec 12, 2017
01ae634
Merge pull request #6335 from kwoodson/node_groups_refactor
sdodson Dec 12, 2017
e1df3b6
Refactor upgrade codepaths step 1
michaelgugino Dec 8, 2017
6fa3a11
Merge pull request #6408 from mgugino-upstream-stage/update-readme
sdodson Dec 12, 2017
466a4b9
Merge pull request #6432 from sdodson/require-24
mtnbikenc Dec 12, 2017
80a5b29
Remove bad openshift_examples symlink
mtnbikenc Dec 12, 2017
83af99a
Merge pull request #6445 from mtnbikenc/fix-openshift-examples
sdodson Dec 12, 2017
549bd2c
Automatic commit of package [openshift-ansible] release [3.9.0-0.7.0].
smunilla Dec 12, 2017
e2a6cde
Merge pull request #6407 from mgugino-upstream-stage/crt-upgrades
sdodson Dec 12, 2017
794367f
Merge remote-tracking branch 'upstream/master' into release-3.8
sdodson Dec 12, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .papr.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ trap upload_journals ERR
# run the actual installer
# FIXME: override openshift_image_tag defined in the inventory until
# https://github.com/openshift/openshift-ansible/issues/4478 is fixed.
ansible-playbook -vvv -i .papr.inventory playbooks/byo/config.yml -e "openshift_image_tag=$OPENSHIFT_IMAGE_TAG"
ansible-playbook -vvv -i .papr.inventory playbooks/deploy_cluster.yml -e "openshift_image_tag=$OPENSHIFT_IMAGE_TAG"

### DISABLING TESTS FOR NOW, SEE:
### https://github.com/openshift/openshift-ansible/pull/6132
Expand Down
5 changes: 5 additions & 0 deletions .tito/releasers.conf
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@ releaser = tito.release.DistGitReleaser
branches = rhaos-3.8-rhel-7
srpm_disttag = .el7aos

[aos-3.9]
releaser = tito.release.DistGitReleaser
branches = rhaos-3.9-rhel-7
srpm_disttag = .el7aos

[copr-openshift-ansible]
releaser = tito.release.CoprReleaser
project_name = @OpenShiftOnlineOps/openshift-ansible
2 changes: 1 addition & 1 deletion DEPLOYMENT_TYPES.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The table below outlines the defaults per `openshift_deployment_type`:

| openshift_deployment_type | origin | openshift-enterprise |
|-----------------------------------------------------------------|------------------------------------------|----------------------------------------|
| **openshift.common.service_type** (also used for package names) | origin | atomic-openshift |
| **openshift_service_type** (also used for package names) | origin | atomic-openshift |
| **openshift.common.config_base** | /etc/origin | /etc/origin |
| **openshift_data_dir** | /var/lib/origin | /var/lib/origin |
| **openshift.master.registry_url openshift.node.registry_url** | openshift/origin-${component}:${version} | openshift3/ose-${component}:${version} |
Expand Down
23 changes: 15 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,27 @@ tracked by
[#2720](https://github.com/openshift/openshift-ansible/issues/2720).

## Getting the correct version
When choosing an openshift release, ensure that the necessary origin packages
are available in your distribution's repository. By default, openshift-ansible
will not configure extra repositories for testing or staging packages for
end users.

The
We recommend using a release branch. We maintain stable branches
corresponding to upstream Origin releases, e.g.: we guarantee an
openshift-ansible 3.2 release will fully support an origin
[1.2 release](https://github.com/openshift/openshift-ansible/tree/release-1.2).

The most recent branch will often receive minor feature backports and
fixes. Older branches will receive only critical fixes.

In addition to the release branches, the master branch
[master branch](https://github.com/openshift/openshift-ansible/tree/master)
tracks our current work **in development** and should be compatible
with the
[Origin master branch](https://github.com/openshift/origin/tree/master)
(code in development).

In addition to the master branch, we maintain stable branches
corresponding to upstream Origin releases, e.g.: we guarantee an
openshift-ansible 3.2 release will fully support an origin
[1.2 release](https://github.com/openshift/openshift-ansible/tree/release-1.2).
The most recent branch will often receive minor feature backports and
fixes. Older branches will receive only critical fixes.


**Getting the right openshift-ansible release**

Expand All @@ -54,7 +61,7 @@ Install base dependencies:

Requirements:

- Ansible >= 2.3.0.0
- Ansible >= 2.4.1.0
- Jinja >= 2.7
- pyOpenSSL
- python-lxml
Expand Down
4 changes: 2 additions & 2 deletions ansible.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ inventory_ignore_extensions = secrets.py, .pyc, .cfg, .crt
# work around privilege escalation timeouts in ansible:
timeout = 30

# Uncomment to use the provided BYO inventory
#inventory = inventory/byo/hosts.example
# Uncomment to use the provided example inventory
#inventory = inventory/hosts.example

[inventory]
# fail more helpfully when the inventory file does not parse (Ansible 2.4+)
Expand Down
254 changes: 8 additions & 246 deletions filter_plugins/oo_filters.py
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,13 @@ def oo_split(string, separator=','):
return string.split(separator)


def oo_list_to_dict(lst, separator='='):
""" This converts a list of ["k=v"] to a dictionary {k: v}.
"""
kvs = [i.split(separator) for i in lst]
return {k: v for k, v in kvs}


def oo_haproxy_backend_masters(hosts, port):
""" This takes an array of dicts and returns an array of dicts
to be used as a backend for the haproxy role
Expand Down Expand Up @@ -690,249 +697,6 @@ def to_padded_yaml(data, level=0, indent=2, **kw):
raise errors.AnsibleFilterError('Failed to convert: %s' % my_e)


def oo_openshift_env(hostvars):
''' Return facts which begin with "openshift_" and translate
legacy facts to their openshift_env counterparts.

Ex: hostvars = {'openshift_fact': 42,
'theyre_taking_the_hobbits_to': 'isengard'}
returns = {'openshift_fact': 42}
'''
if not issubclass(type(hostvars), dict):
raise errors.AnsibleFilterError("|failed expects hostvars is a dict")

facts = {}
regex = re.compile('^openshift_.*')
for key in hostvars:
if regex.match(key):
facts[key] = hostvars[key]

return facts


# pylint: disable=too-many-branches, too-many-nested-blocks, too-many-statements, too-many-locals
def oo_component_persistent_volumes(hostvars, groups, component, subcomponent=None):
""" Generate list of persistent volumes based on oo_openshift_env
storage options set in host variables for a specific component.
"""
if not issubclass(type(hostvars), dict):
raise errors.AnsibleFilterError("|failed expects hostvars is a dict")
if not issubclass(type(groups), dict):
raise errors.AnsibleFilterError("|failed expects groups is a dict")

persistent_volume = None

if component in hostvars['openshift']:
if subcomponent is not None:
storage_component = hostvars['openshift'][component][subcomponent]
else:
storage_component = hostvars['openshift'][component]

if 'storage' in storage_component:
params = storage_component['storage']
kind = params['kind']
if 'create_pv' in params:
create_pv = params['create_pv']
if kind is not None and create_pv:
if kind == 'nfs':
host = params['host']
if host is None:
if 'oo_nfs_to_config' in groups and len(groups['oo_nfs_to_config']) > 0:
host = groups['oo_nfs_to_config'][0]
else:
raise errors.AnsibleFilterError("|failed no storage host detected")
directory = params['nfs']['directory']
volume = params['volume']['name']
path = directory + '/' + volume
size = params['volume']['size']
if 'labels' in params:
labels = params['labels']
else:
labels = dict()
access_modes = params['access']['modes']
persistent_volume = dict(
name="{0}-volume".format(volume),
capacity=size,
labels=labels,
access_modes=access_modes,
storage=dict(
nfs=dict(
server=host,
path=path)))

elif kind == 'openstack':
volume = params['volume']['name']
size = params['volume']['size']
if 'labels' in params:
labels = params['labels']
else:
labels = dict()
access_modes = params['access']['modes']
filesystem = params['openstack']['filesystem']
volume_id = params['openstack']['volumeID']
persistent_volume = dict(
name="{0}-volume".format(volume),
capacity=size,
labels=labels,
access_modes=access_modes,
storage=dict(
cinder=dict(
fsType=filesystem,
volumeID=volume_id)))

elif kind == 'glusterfs':
volume = params['volume']['name']
size = params['volume']['size']
if 'labels' in params:
labels = params['labels']
else:
labels = dict()
access_modes = params['access']['modes']
endpoints = params['glusterfs']['endpoints']
path = params['glusterfs']['path']
read_only = params['glusterfs']['readOnly']
persistent_volume = dict(
name="{0}-volume".format(volume),
capacity=size,
labels=labels,
access_modes=access_modes,
storage=dict(
glusterfs=dict(
endpoints=endpoints,
path=path,
readOnly=read_only)))

elif not (kind == 'object' or kind == 'dynamic'):
msg = "|failed invalid storage kind '{0}' for component '{1}'".format(
kind,
component)
raise errors.AnsibleFilterError(msg)
return persistent_volume


# pylint: disable=too-many-branches, too-many-nested-blocks, too-many-statements
def oo_persistent_volumes(hostvars, groups, persistent_volumes=None):
""" Generate list of persistent volumes based on oo_openshift_env
storage options set in host variables.
"""
if not issubclass(type(hostvars), dict):
raise errors.AnsibleFilterError("|failed expects hostvars is a dict")
if not issubclass(type(groups), dict):
raise errors.AnsibleFilterError("|failed expects groups is a dict")
if persistent_volumes is not None and not issubclass(type(persistent_volumes), list):
raise errors.AnsibleFilterError("|failed expects persistent_volumes is a list")

if persistent_volumes is None:
persistent_volumes = []
if 'hosted' in hostvars['openshift']:
for component in hostvars['openshift']['hosted']:
persistent_volume = oo_component_persistent_volumes(hostvars, groups, 'hosted', component)
if persistent_volume is not None:
persistent_volumes.append(persistent_volume)

if 'logging' in hostvars['openshift']:
persistent_volume = oo_component_persistent_volumes(hostvars, groups, 'logging')
if persistent_volume is not None:
persistent_volumes.append(persistent_volume)
if 'loggingops' in hostvars['openshift']:
persistent_volume = oo_component_persistent_volumes(hostvars, groups, 'loggingops')
if persistent_volume is not None:
persistent_volumes.append(persistent_volume)
if 'metrics' in hostvars['openshift']:
persistent_volume = oo_component_persistent_volumes(hostvars, groups, 'metrics')
if persistent_volume is not None:
persistent_volumes.append(persistent_volume)
if 'prometheus' in hostvars['openshift']:
persistent_volume = oo_component_persistent_volumes(hostvars, groups, 'prometheus')
if persistent_volume is not None:
persistent_volumes.append(persistent_volume)
if 'alertmanager' in hostvars['openshift']['prometheus']:
persistent_volume = oo_component_persistent_volumes(hostvars, groups, 'prometheus', 'alertmanager')
if persistent_volume is not None:
persistent_volumes.append(persistent_volume)
if 'alertbuffer' in hostvars['openshift']['prometheus']:
persistent_volume = oo_component_persistent_volumes(hostvars, groups, 'prometheus', 'alertbuffer')
if persistent_volume is not None:
persistent_volumes.append(persistent_volume)
return persistent_volumes


def oo_component_pv_claims(hostvars, component, subcomponent=None):
""" Generate list of persistent volume claims based on oo_openshift_env
storage options set in host variables for a speicific component.
"""
if not issubclass(type(hostvars), dict):
raise errors.AnsibleFilterError("|failed expects hostvars is a dict")

if component in hostvars['openshift']:
if subcomponent is not None:
storage_component = hostvars['openshift'][component][subcomponent]
else:
storage_component = hostvars['openshift'][component]

if 'storage' in storage_component:
params = storage_component['storage']
kind = params['kind']
if 'create_pv' in params:
if 'create_pvc' in params:
create_pv = params['create_pv']
create_pvc = params['create_pvc']
if kind not in [None, 'object'] and create_pv and create_pvc:
volume = params['volume']['name']
size = params['volume']['size']
access_modes = params['access']['modes']
persistent_volume_claim = dict(
name="{0}-claim".format(volume),
capacity=size,
access_modes=access_modes)
return persistent_volume_claim
return None


def oo_persistent_volume_claims(hostvars, persistent_volume_claims=None):
""" Generate list of persistent volume claims based on oo_openshift_env
storage options set in host variables.
"""
if not issubclass(type(hostvars), dict):
raise errors.AnsibleFilterError("|failed expects hostvars is a dict")
if persistent_volume_claims is not None and not issubclass(type(persistent_volume_claims), list):
raise errors.AnsibleFilterError("|failed expects persistent_volume_claims is a list")

if persistent_volume_claims is None:
persistent_volume_claims = []
if 'hosted' in hostvars['openshift']:
for component in hostvars['openshift']['hosted']:
persistent_volume_claim = oo_component_pv_claims(hostvars, 'hosted', component)
if persistent_volume_claim is not None:
persistent_volume_claims.append(persistent_volume_claim)

if 'logging' in hostvars['openshift']:
persistent_volume_claim = oo_component_pv_claims(hostvars, 'logging')
if persistent_volume_claim is not None:
persistent_volume_claims.append(persistent_volume_claim)
if 'loggingops' in hostvars['openshift']:
persistent_volume_claim = oo_component_pv_claims(hostvars, 'loggingops')
if persistent_volume_claim is not None:
persistent_volume_claims.append(persistent_volume_claim)
if 'metrics' in hostvars['openshift']:
persistent_volume_claim = oo_component_pv_claims(hostvars, 'metrics')
if persistent_volume_claim is not None:
persistent_volume_claims.append(persistent_volume_claim)
if 'prometheus' in hostvars['openshift']:
persistent_volume_claim = oo_component_pv_claims(hostvars, 'prometheus')
if persistent_volume_claim is not None:
persistent_volume_claims.append(persistent_volume_claim)
if 'alertmanager' in hostvars['openshift']['prometheus']:
persistent_volume_claim = oo_component_pv_claims(hostvars, 'prometheus', 'alertmanager')
if persistent_volume_claim is not None:
persistent_volume_claims.append(persistent_volume_claim)
if 'alertbuffer' in hostvars['openshift']['prometheus']:
persistent_volume_claim = oo_component_pv_claims(hostvars, 'prometheus', 'alertbuffer')
if persistent_volume_claim is not None:
persistent_volume_claims.append(persistent_volume_claim)
return persistent_volume_claims


def oo_31_rpm_rename_conversion(rpms, openshift_version=None):
""" Filters a list of 3.0 rpms and return the corresponding 3.1 rpms
names with proper version (if provided)
Expand Down Expand Up @@ -1212,16 +976,14 @@ def filters(self):
"oo_combine_dict": oo_combine_dict,
"oo_dict_to_list_of_dict": oo_dict_to_list_of_dict,
"oo_split": oo_split,
"oo_list_to_dict": oo_list_to_dict,
"oo_filter_list": oo_filter_list,
"oo_parse_heat_stack_outputs": oo_parse_heat_stack_outputs,
"oo_parse_named_certificates": oo_parse_named_certificates,
"oo_haproxy_backend_masters": oo_haproxy_backend_masters,
"oo_pretty_print_cluster": oo_pretty_print_cluster,
"oo_generate_secret": oo_generate_secret,
"oo_nodes_with_label": oo_nodes_with_label,
"oo_openshift_env": oo_openshift_env,
"oo_persistent_volumes": oo_persistent_volumes,
"oo_persistent_volume_claims": oo_persistent_volume_claims,
"oo_31_rpm_rename_conversion": oo_31_rpm_rename_conversion,
"oo_pods_match_component": oo_pods_match_component,
"oo_get_hosts_from_hostvars": oo_get_hosts_from_hostvars,
Expand Down
2 changes: 1 addition & 1 deletion images/installer/root/exports/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"OPTS": "",
"VAR_LIB_OPENSHIFT_INSTALLER" : "/var/lib/openshift-installer",
"VAR_LOG_OPENSHIFT_LOG": "/var/log/ansible.log",
"PLAYBOOK_FILE": "/usr/share/ansible/openshift-ansible/playbooks/byo/config.yml",
"PLAYBOOK_FILE": "/usr/share/ansible/openshift-ansible/playbooks/deploy_cluster.yml",
"HOME_ROOT": "/root",
"ANSIBLE_CONFIG": "/usr/share/atomic-openshift-utils/ansible.cfg",
"INVENTORY_FILE": "/dev/null"
Expand Down
2 changes: 1 addition & 1 deletion images/installer/root/usr/local/bin/run
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ INVENTORY="$(mktemp)"
if [[ -v INVENTORY_FILE ]]; then
# Make a copy so that ALLOW_ANSIBLE_CONNECTION_LOCAL below
# does not attempt to modify the original
cp -a ${INVENTORY_FILE} ${INVENTORY}
cp ${INVENTORY_FILE} ${INVENTORY}
elif [[ -v INVENTORY_DIR ]]; then
INVENTORY="$(mktemp -d)"
cp -R ${INVENTORY_DIR}/* ${INVENTORY}
Expand Down
File renamed without changes.
6 changes: 1 addition & 5 deletions inventory/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1 @@
# OpenShift Ansible inventory config files

You can install OpenShift on:

* [BYO](byo/) (Bring your own), use this inventory config file to install OpenShift on your pre-existing hosts
# OpenShift Ansible example inventory config files
Loading