diff options
51 files changed, 735 insertions, 241 deletions
diff --git a/.tito/packages/openshift-ansible b/.tito/packages/openshift-ansible index 3b7826d31..e612a8982 100644 --- a/.tito/packages/openshift-ansible +++ b/.tito/packages/openshift-ansible @@ -1 +1 @@ -3.5.3-1 ./ +3.6.1-1 ./ diff --git a/.travis.yml b/.travis.yml index 0698b0280..245202139 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,21 +20,3 @@ script: after_success: - coveralls - -notifications: - email: - recipients: - - jdetiber@redhat.com - - sdodson@redhat.com - on_success: change - on_failure: always - irc: - channels: - - chat.freenode.net#openshift-dev - on_success: change - on_failure: always - template: - - "%{repository}#%{build_number} (%{branch} - %{commit} : %{author}): %{message}" - - "Change view : %{compare_url}" - - "Build details : %{build_url}" - - "sdodson jdetiber: ^" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 12f3efc09..50bb09470 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -75,7 +75,10 @@ See the [RPM build instructions](BUILD.md). We use [tox](http://readthedocs.org/docs/tox/) to manage virtualenvs and run tests. Alternatively, tests can be run using [detox](https://pypi.python.org/pypi/detox/) which allows for running tests in -parallel +parallel. + +Note: while `detox` may be useful in development to make use of multiple cores, +it can be buggy at times and produce flakes, thus we do not use it in our CI. ``` @@ -95,43 +98,90 @@ by `tox`: $ find . -path '*/bin/python' | grep -vF .tox ``` -Extraneous virtualenvs cause tools such as `pylint` to take a very long time -going through files that are part of the virtualenv. +The reason for this recommendation is that extraneous virtualenvs cause tools +such as `pylint` to take a very long time going through files that are part of +the virtualenv, and test discovery to go through lots of irrelevant files and +potentially fail. --- List the test environments available: + ``` tox -l ``` -Run all of the tests with: +Run all of the tests and linters with: + ``` tox ``` -Run all of the tests in parallel with detox: +Run all of the tests linters in parallel (may flake): + ``` detox ``` -Running a particular test environment (python 2.7 flake8 tests in this case): +### Run only unit tests or some specific linter + +Run a particular test environment (`flake8` on Python 2.7 in this case): + ``` tox -e py27-flake8 ``` -Running a particular test environment in a clean virtualenv (python 3.5 pylint -tests in this case): +Run a particular test environment in a clean virtualenv (`pylint` on Python 3.5 +in this case): + ``` -tox -r -e py35-pylint +tox -re py35-pylint ``` -If you want to enter the virtualenv created by tox to do additional +### Tricks + +#### Activating a virtualenv managed by tox + +If you want to enter a virtualenv created by tox to do additional testing/debugging (py27-flake8 env in this case): + ``` source .tox/py27-flake8/bin/activate ``` +#### Limiting the unit tests that are run + +During development, it might be useful to constantly run just a single test file +or test method, or to pass custom arguments to `pytest`: + +``` +tox -e py27-unit -- path/to/test/file.py +``` + +Anything after `--` is passed directly to `pytest`. To learn more about what +other flags you can use, try: + +``` +tox -e py27-unit -- -h +``` + +As a practical example, the snippet below shows how to list all tests in a +certain file, and then execute only one test of interest: + +``` +$ tox -e py27-unit -- roles/lib_openshift/src/test/unit/test_oc_project.py --collect-only --no-cov +... +collected 1 items +<Module 'roles/lib_openshift/src/test/unit/test_oc_project.py'> + <UnitTestCase 'OCProjectTest'> + <TestCaseFunction 'test_adding_a_project'> +... +$ tox -e py27-unit -- roles/lib_openshift/src/test/unit/test_oc_project.py -k test_adding_a_project +``` + +Among other things, this can be used for instance to see the coverage levels of +individual modules as we work on improving tests. + ## Submitting contributions 1. Go through the guides from the [introduction](#Introduction). diff --git a/inventory/byo/hosts.origin.example b/inventory/byo/hosts.origin.example index 76b1f3691..20764fb95 100644 --- a/inventory/byo/hosts.origin.example +++ b/inventory/byo/hosts.origin.example @@ -30,17 +30,17 @@ deployment_type=origin # use this to lookup the latest exact version of the container images, which is the tag actually used to configure # the cluster. For RPM installations we just verify the version detected in your configured repos matches this # release. -openshift_release=v1.4 +openshift_release=v1.5 # Specify an exact container image tag to install or configure. # WARNING: This value will be used for all hosts in containerized environments, even those that have another version installed. # This could potentially trigger an upgrade and downtime, so be careful with modifying this value after the cluster is set up. -#openshift_image_tag=v1.2.0 +#openshift_image_tag=v1.5.0 # Specify an exact rpm version to install or configure. # WARNING: This value will be used for all hosts in RPM based environments, even those that have another version installed. # This could potentially trigger an upgrade and downtime, so be careful with modifying this value after the cluster is set up. -#openshift_pkg_version=-1.2.0 +#openshift_pkg_version=-1.5.0 # Install the openshift examples #openshift_install_examples=true @@ -539,8 +539,8 @@ openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', # list of options please see roles/openshift_logging/README.md # # Configure loggingPublicURL in the master config for aggregate logging, defaults -# to https://kibana.{{ openshift_master_default_subdomain }} -#openshift_hosted_logging_hostname=https://kibana.example.com +# to kibana.{{ openshift_master_default_subdomain }} +#openshift_master_logging_public_url=kibana.example.com # Configure the number of elastic search nodes, unless you're using dynamic provisioning # this value must be 1 #openshift_hosted_logging_elasticsearch_cluster_size=1 diff --git a/inventory/byo/hosts.ose.example b/inventory/byo/hosts.ose.example index 39e9488d5..3b9861a1d 100644 --- a/inventory/byo/hosts.ose.example +++ b/inventory/byo/hosts.ose.example @@ -30,17 +30,17 @@ deployment_type=openshift-enterprise # use this to lookup the latest exact version of the container images, which is the tag actually used to configure # the cluster. For RPM installations we just verify the version detected in your configured repos matches this # release. -openshift_release=v3.4 +openshift_release=v3.5 # Specify an exact container image tag to install or configure. # WARNING: This value will be used for all hosts in containerized environments, even those that have another version installed. # This could potentially trigger an upgrade and downtime, so be careful with modifying this value after the cluster is set up. -#openshift_image_tag=v3.2.0.46 +#openshift_image_tag=v3.5.0 # Specify an exact rpm version to install or configure. # WARNING: This value will be used for all hosts in RPM based environments, even those that have another version installed. # This could potentially trigger an upgrade and downtime, so be careful with modifying this value after the cluster is set up. -#openshift_pkg_version=-3.2.0.46 +#openshift_pkg_version=-3.5.0 # Install the openshift examples #openshift_install_examples=true @@ -540,8 +540,8 @@ openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', # list of options please see roles/openshift_logging/README.md # # Configure loggingPublicURL in the master config for aggregate logging, defaults -# to https://kibana.{{ openshift_master_default_subdomain }} -#openshift_hosted_logging_hostname=https://kibana.example.com +# to kibana.{{ openshift_master_default_subdomain }} +#openshift_master_logging_public_url=kibana.example.com # Configure the number of elastic search nodes, unless you're using dynamic provisioning # this value must be 1 #openshift_hosted_logging_elasticsearch_cluster_size=1 diff --git a/openshift-ansible.spec b/openshift-ansible.spec index c7b4544be..f87c0bada 100644 --- a/openshift-ansible.spec +++ b/openshift-ansible.spec @@ -9,7 +9,7 @@ %global __requires_exclude ^/usr/bin/ansible-playbook$ Name: openshift-ansible -Version: 3.5.3 +Version: 3.6.1 Release: 1%{?dist} Summary: Openshift and Atomic Enterprise Ansible License: ASL 2.0 @@ -270,6 +270,531 @@ Atomic OpenShift Utilities includes %changelog +* Thu Mar 16 2017 Jenkins CD Merge Bot <tdawson@redhat.com> 3.6.1-1 +- Bump version to 3.6.0 (smunilla@redhat.com) +- Improve CONTRIBUTING guide with testing tricks (rhcarvalho@gmail.com) +- Update versions in example inventories (sdodson@redhat.com) +- Only call excluder playbooks on masters and nodes (sdodson@redhat.com) +- Since we've decided that we're no longer paying attention to current status + remove this as it was toggling things (sdodson@redhat.com) +- Remove travis notifications (jdetiber@redhat.com) +- Removing dependency on master facts for master_public_url default + (ewolinet@redhat.com) +- don't assume openshift_upgrade_target is in a form d.d (jchaloup@redhat.com) +- Cherry picked from #3657 (ewolinet@redhat.com) +- Revert "Enable docker during installation and upgrade by default" + (skuznets@redhat.com) +- Nuage service account handling by single master + (vishal.patil@nuagenetworks.net) +- Add router svcacct cluster-reader role (rteague@redhat.com) +- Cherry picking from #3644 (ewolinet@redhat.com) +- Revert module_utils six for openshift_health_checker (jdetiber@redhat.com) +- Refactor and remove openshift_serviceaccount (rteague@redhat.com) +- Fix typo (sdodson@redhat.com) +- Force to use TLSv1.2 (related to https://github.com/openshift/openshift- + ansible/pull/2707) (olivier@openkumo.fr) +- Raise on dry-run failures. (kwoodson@redhat.com) +- validate excluders on non-atomic hosts only (jchaloup@redhat.com) +- enable docker excluder since the time it is installed (jchaloup@redhat.com) +- cherry picking from #3621 #3614 #3627 (ewolinet@redhat.com) +- Renaming oadm_manage_node to oc_adm_manage_node (rteague@redhat.com) +- add 'hawkular/metrics' when updating config (jcantril@redhat.com) +- update all the masters (jcantril@redhat.com) +- bug 1430661. Update masterConfig metricsPublicURL on install + (jcantril@redhat.com) +- nuage: Move role back to config (smilner@redhat.com) +- Fix incorrect comparison when detecting petsets (tbielawa@redhat.com) +- Removed unused, unwanted, incorrectly committed code. (kwoodson@redhat.com) +- Minor updates to README_CONTAINER_IMAGE.md (pep@redhat.com) +- Fix references to openshift_set_node_ip in inventory examples + (gskgoskk@gmail.com) +- Bug 1428711 - [IntService_public_324] ES pod is unable to read + searchguard.truststore after upgarde logging from 3.3.1 to 3.5.0 + (rmeggins@redhat.com) +- bug 1428249. Use ES hostmount storage if it exists (jcantril@redhat.com) +- Use ansible.compat.six where possible (jdetiber@redhat.com) +- Remove debug task (tbielawa@redhat.com) +- Use six from ansible.module_utils for remote hosts (jdetiber@redhat.com) +- re-enable excluders if they are enabled after openshift version detection + (jchaloup@redhat.com) +- Allow overriding minTLSVersion and cipherSuites (meggen@redhat.com) +- extend the excluders to containerized deployment (jchaloup@redhat.com) +- Fixing the way policies are found. The old method was unreliable. This + method searches all and matches on properties. (kwoodson@redhat.com) +- openshift_excluders depends on openshift_repos (sdodson@redhat.com) +- add ability to specify an etcd version (mmckinst@umich.edu) +- Lowering test coverage percentage. (kwoodson@redhat.com) +- Removing ordereddict. Replaced with sorted keys. (kwoodson@redhat.com) +- New role (tbielawa@redhat.com) +- Fixed for linting. (kwoodson@redhat.com) +- enable excluders by default (jchaloup@redhat.com) +- ignore the docker excluder status if it is not enabled by a user + (jchaloup@redhat.com) +- Fix pylint/pyflakes errors on master (sdodson@redhat.com) +- Identify PetSets in 3.4 clusters and fail if any are detected + (tbielawa@redhat.com) +- More logging fixes (ewolinet@redhat.com) +- Fix for issue 3541 (srampal@cisco.com) +- Fix to OpenshiftCLIConfig to support an ordereddict. This was breaking test + cases. (kwoodson@redhat.com) +- - update excluders to latest, in non-upgrade scenarios do not update - check + both available excluder versions are at most of upgrade target version - get + excluder status through status command - make excluders enablement + configurable (jchaloup@redhat.com) +- Adding scripts for building and pushing images (bleanhar@redhat.com) +- Adding test_oc_adm_router. (kwoodson@redhat.com) +- Loosely couple docker to iptables service (rteague@redhat.com) +- Generic message directing people to contact support (sdodson@redhat.com) +- Fixing plugin, nodeselectors, and secret pull check (ewolinet@redhat.com) +- Adding into the origin inventory doc. (kwoodson@redhat.com) +- Add oc_objectvalidator to upgrade check (sdodson@redhat.com) +- Augmenting documentation for router sharding. (kwoodson@redhat.com) +- Adding router test. (kwoodson@redhat.com) +- openshift_facts: ensure system containers deps are installed + (gscrivan@redhat.com) +- Preserve order of Docker registries (eric.mountain@amadeus.com) +- Updating metrics defaults (ewolinet@redhat.com) +- Enable coveralls.io (jdetiber@redhat.com) +- Fix indentation of run_once (sdodson@redhat.com) +- Update docs for test consolidation and remove the Makefile + (jdetiber@redhat.com) +- Consolidate root/utils tests (jdetiber@redhat.com) +- Remove dummy setup/teardown methods (rhcarvalho@gmail.com) +- Clean up test files (rhcarvalho@gmail.com) +- Remove commented-out test code (rhcarvalho@gmail.com) +- Make generic OCObjectValidator from OCSDNValidator (mkhan@redhat.com) +- logging needs openshift_master_facts before openshift_facts + (rmeggins@redhat.com) +- separate out test tool configs from setup.cfg (jdetiber@redhat.com) +- Dockerfile and docs to run containerized playbooks (pep@redhat.com) +- Lower test coverage percentage. (kwoodson@redhat.com) +- Mock runs differntly on travis. Fix the mock test params to be ANY. + (kwoodson@redhat.com) +- Fixed the none namespace. Fixed tests with latest loc_oc_binary call. + (kwoodson@redhat.com) +- Updating the namespace param to None. (kwoodson@redhat.com) +- Regenerated code with latest yedit changes. (kwoodson@redhat.com) +- Fixed tests to align with new naming. (kwoodson@redhat.com) +- Fixed docs. Added check for delete failures. Updated namespace to None. + (kwoodson@redhat.com) +- Fixing linters (kwoodson@redhat.com) +- Adding integration test. Fixed issue with node_selector. + (kwoodson@redhat.com) +- Adding oc_project to lib_openshift. (kwoodson@redhat.com) +- Remove old commented-out tests (rhcarvalho@gmail.com) +- Remove redundant assertion (rhcarvalho@gmail.com) +- Fix test (rhcarvalho@gmail.com) +- Lint utils/test (rhcarvalho@gmail.com) +- Rewrap long lines (rhcarvalho@gmail.com) +- Remove unused argument (rhcarvalho@gmail.com) +- Remove unused Makefile variables (rhcarvalho@gmail.com) +- Adding some more logging defaults (ewolinet@redhat.com) +- node/sdn: make /var/lib/cni persistent to ensure IPAM allocations stick + around across node restart (dcbw@redhat.com) +- BZ1422348 - Don't install python-ruamel-yaml (sdodson@redhat.com) +- Re-generate modules (sdodson@redhat.com) +- Only set ownership to etcd for thirdparty datadir (sdodson@redhat.com) +- Added ports. (kwoodson@redhat.com) +- Fixed router name to produce 2nd router. (kwoodson@redhat.com) +- Updated to work with an array of routers. (kwoodson@redhat.com) +- Adding support for router sharding. (kwoodson@redhat.com) +- Removing the openshift_master_facts dependency (ewolinet@redhat.com) +- bug 1420256. Initialize openshift_logging pvc_facts to empty + (jcantril@redhat.com) +- Add oc_adm_policy_user task cluster-role policy (rteague@redhat.com) +- Correct config for hosted registry (rteague@redhat.com) +- Fixing checkout for bindings with -binding suffix (jupierce@redhat.com) +- Leave an empty contiv role directory (sdodson@redhat.com) +- Updating stdout check for changed_when (ewolinet@redhat.com) +- test fixes for openshift_certificates_expiry (jdetiber@redhat.com) +- oadm_policy_group/adm_policy_user module (jupierce@redhat.com) +- Fail on Atomic if docker is too old (smilner@redhat.com) +- Remove contiv role and playbook from rpm packages (sdodson@redhat.com) +- Resolving yammlint errors (ewolinet@redhat.com) +- Fixed error handling when oc adm ca create-server-cert fails. Fixed a logic + error in secure. (kwoodson@redhat.com) +- removing extra when condition (kwoodson@redhat.com) +- Removing run_once. (kwoodson@redhat.com) +- Adding the activeDeadlineSeconds. Removed debug. (kwoodson@redhat.com) +- Separating routes so logic is simpler. (kwoodson@redhat.com) +- Defaulting variables properly to avoid undefined route in dict error. + (kwoodson@redhat.com) +- Add v1.3 FIS templates (sdodson@redhat.com) +- v1.4 Add FIS templates (sdodson@redhat.com) +- Add FIS templates (sdodson@redhat.com) +- Removed duplicate host param. (kwoodson@redhat.com) +- Fixed failures on create when objects exist. (kwoodson@redhat.com) +- Add ca-bundle.crt to list of certs to synchronize. (abutcher@redhat.com) +- Do not force custom ca cert deployment. (abutcher@redhat.com) +- regenerate lib_openshift with yedit exception changes (jdiaz@redhat.com) +- Adding changed_whens for role, rolebinding, and scc reconciliation based on + output from oadm policy command (ewolinet@redhat.com) +- raise exceptions when walking through object path (jdiaz@redhat.com) +- logging fluentd filter was renamed to viaq (rmeggins@redhat.com) +- Add 'persistentVolumeClaim' to volume_info type (rteague@redhat.com) +- Updating delete/recreate with replace --force. (kwoodson@redhat.com) +- Fixed logic error. Ensure both svc and dc exist. (kwoodson@redhat.com) +- Modified base debug statements. Fixed oc_secret debug/verbose flag. Added + reencrypt for route. (kwoodson@redhat.com) +- Adding support for a route with certs and reencrypt. (kwoodson@redhat.com) +- node: use the new oc_atomic_container module (gscrivan@redhat.com) +- master: use the new oc_atomic_container module (gscrivan@redhat.com) +- etcd: use the new oc_atomic_container module (gscrivan@redhat.com) +- lib_openshift: new module atomic_container (gscrivan@redhat.com) +- Combined (squashed) commit for all changes related to adding Contiv support + into Openshift Ansible. This is the first (beta) release of Contiv with + Openshift and is only supported for Openshift Origin + Bare metal deployments + at the time of this commit. Please refer to the Openshift and Contiv official + documentation for details of the level of support for different features and + modes of operation. (srampal@cisco.com) +- Re-generate lib_openshift (sdodson@redhat.com) +- Make s3_volume_mount available to set_fact call (smilner@redhat.com) +- Correct fact creation for pvc (rteague@redhat.com) +- [oc_obj] Move namespace argument to end of command. (abutcher@redhat.com) +- Create hosted registry service (rteague@redhat.com) +- Correct typo in haproxy router collection. (abutcher@redhat.com) +- Fix issue #3505, add notes about origin upgrade versions support in BYO + upgrade README file (contact@stephane-klein.info) +- Moving replica logic to filter_plugin to fix skipped task variable behavior. + (kwoodson@redhat.com) +- install the latest excluders (jchaloup@redhat.com) +- openshift_hosted: Update tasks to use oc_ modules (rteague@redhat.com) +- Rebased. (kwoodson@redhat.com) +- Fixed indentation (kwoodson@redhat.com) +- Adding get_env_var to deploymentconfig. (kwoodson@redhat.com) +- Fixed default variables. Added a fix to generated secret in env var. + (kwoodson@redhat.com) +- Revert "Add centos paas sig common" (sdodson@redhat.com) +- Fix Quick Installer failed due to a Python method failure + (tbielawa@redhat.com) +- Removed JGroups cert and password generation. (juraci@kroehling.de) +- Fix symlink to lookup_plugins/oo_option.py (jchaloup@redhat.com) +- Use 2 and 3 friendly urlparse in oo_filters (smilner@redhat.com) +- Update v1.5 content (sdodson@redhat.com) +- Update v1.4 content (sdodson@redhat.com) +- xPaaS ose-v1.3.6 (sdodson@redhat.com) +- Prepare for origin moving to OCP version scheme (ccoleman@redhat.com) +- initialize_openshift_version: handle excluder packages (gscrivan@redhat.com) +- Add insecure edge termination policy for kibana. (whearn@redhat.com) +- openshift_logging default to 2 replicas of primary shards + (jcantril@redhat.com) +- Fixing doc for oc_adm_ca_server_cert. (kwoodson@redhat.com) +- Convert selectattr tests to use 'match' (rteague@redhat.com) +- Re-generate lib_openshift and lib_utils libraries (sdodson@redhat.com) +- curator config must be in /etc/curator not /usr/curator (rmeggins@redhat.com) +- Updated for pylint. Fixed create doc. (kwoodson@redhat.com) +- Attempt to handle router preparation errors. (kwoodson@redhat.com) +- Fixing the generate tox tests. (kwoodson@redhat.com) +- BZ1414276 - Quote ansible_ssh_user when determining group id + (sdodson@redhat.com) +- Moving import to local class. (kwoodson@redhat.com) +- Added required_together. Added two minor bug fixes for when data is not + passed. (kwoodson@redhat.com) +- fix up ruamel.yaml/pyyaml no-member lint errors (jdetiber@redhat.com) +- Renamed NotContainerized to NotContainerizedMixin and dropped no-member + (smilner@redhat.com) +- Removed unrequired no-members from yedit and generated code + (smilner@redhat.com) +- Removing reference to oadm. Moved parameter under general params. + (kwoodson@redhat.com) +- adding tag to update_master_config (ewolinet@redhat.com) +- CloudFront oc_secret contents should be a list (smilner@redhat.com) +- lib_openshift oc file lookup improvements (jdetiber@redhat.com) +- roles/lib_openshift: Handle /usr/local/bin/oc with sudo (walters@verbum.org) +- if no key, cert, cacert, or default_cert is passed then do not pass to oc + (kwoodson@redhat.com) +- Added backup feature. Fixed a bug with reading the certificate and verifying + names. Added force option. (kwoodson@redhat.com) +- Add SDNValidator Module (mkhan@redhat.com) +- bug 1425321. Default the master api port based on the facts + (jcantril@redhat.com) +- Bug 1420219 - No log entry can be found in Kibana UI after deploying logging + stacks with ansible (rmeggins@redhat.com) +- Address cert expiry parsing review comments (tbielawa@redhat.com) +- Fix typo (rhcarvalho@gmail.com) +- Update link to project homepage (rhcarvalho@gmail.com) +- Implement fake openssl cert classes (tbielawa@redhat.com) +- Removed oadm_ references in doc. (kwoodson@redhat.com) +- Remove unused plays (jhadvig@redhat.com) +- Remove pytest-related dependencies from setup.py (rhcarvalho@gmail.com) +- Added copy support when modifying cert and key on existence + (kwoodson@redhat.com) +- Small spacing fix. (kwoodson@redhat.com) +- Updated doc and defined defaults for signer_* (kwoodson@redhat.com) +- Removed unused code. Made tests executable. (kwoodson@redhat.com) +- Removing cmd, fixed docs and comments. (kwoodson@redhat.com) +- Rename of oadm_ca to oc_adm_ca. Decided to whittle down to the direct call, + server_cert. (kwoodson@redhat.com) +- Fixing doc. (kwoodson@redhat.com) +- Adding oadm_ca to lib_openshift. (kwoodson@redhat.com) +- Fixing docs. Fixed default_cert suggestion. (kwoodson@redhat.com) +- Renamed modules, fixed docs, renamed variables, and cleaned up logic. + (kwoodson@redhat.com) +- Renaming registry and router roles to oc_adm_ (kwoodson@redhat.com) +- Fixing registry doc and suggestions. (kwoodson@redhat.com) +- Adding router and registry to lib_openshift. (kwoodson@redhat.com) +- bug 142026. Ensure Ops PVC prefix are initialized to empty when ops e… + nabled (jcantril@redhat.com) +- Reverting logic for verify api handler to be uniform with other ways we + verify, will be uniformly updated in future (ewolinet@redhat.com) +- bug 1417261. Quote name and secrets in logging templates + (jcantril@redhat.com) +- openshift_facts: handle 'latest' version (gscrivan@redhat.com) +- Surrounding node selector values with quotes (ewolinet@redhat.com) +- Raise the bar on coverage requirements (rhcarvalho@gmail.com) +- Accept extra positional arguments in tox (rhcarvalho@gmail.com) +- Replace nose with pytest (utils) (rhcarvalho@gmail.com) +- Clean up utils/README.md (rhcarvalho@gmail.com) +- Replace nose with pytest (rhcarvalho@gmail.com) +- Extract assertion common to all tests as function (rhcarvalho@gmail.com) +- Replace nose yield-style tests w/ pytest fixtures (rhcarvalho@gmail.com) +- Configure pytest to run tests and coverage (rhcarvalho@gmail.com) +- Fix validation of generated code (rhcarvalho@gmail.com) +- Make tests run with either nosetests or pytest (rhcarvalho@gmail.com) +- Replace assert_equal with plain assert (rhcarvalho@gmail.com) +- Make usage of short_version/release consistent (rhcarvalho@gmail.com) +- Reorganize tests and helper functions logically (rhcarvalho@gmail.com) +- Remove test duplication (rhcarvalho@gmail.com) +- Move similar test cases together (rhcarvalho@gmail.com) +- Insert paths in the second position of sys.path (rhcarvalho@gmail.com) +- Rename test for consistency (rhcarvalho@gmail.com) +- Replace has_key in new modules (smilner@redhat.com) +- Fix symlink to filter_plugins/oo_filters.py (jchaloup@redhat.com) +- Correct logic test for running pods (rteague@redhat.com) +- Temporarily lower the bar for minimum coverage (rhcarvalho@gmail.com) +- Unset exec bit in tests, add missing requirements (jdetiber@redhat.com) +- Include missing unit tests to test runner config (rhcarvalho@gmail.com) +- Fix tests on Python 3 (rhcarvalho@gmail.com) +- Remove dead code in installer (rhcarvalho@gmail.com) +- Remove dead code (rhcarvalho@gmail.com) +- Document how to find dead Python code (rhcarvalho@gmail.com) +- updating until statments on uri module for api verification + (ewolinet@redhat.com) +- add dependency on openshift_repos (sdodson@redhat.com) +- Fixing a bug by removing default debug (kwoodson@redhat.com) +- Updating to use uri module instead (ewolinet@redhat.com) +- Updating node playbooks to use oc_obj (rteague@redhat.com) +- Add centos paas sig common (sdodson@redhat.com) +- Disentangle openshift_repos from openshift_facts (sdodson@redhat.com) +- Adding missing handler to resolve error that it was not found + (ewolinet@redhat.com) +- String compatibility for python2,3 (kwoodson@redhat.com) +- Fix indenting/ordering in router cert redeploy (sdodson@redhat.com) +- post_control_plane.yml: don't fail on grep (gscrivan@redhat.com) +- facts/main: Require Python 3 for Fedora, Python 2 everywhere else + (walters@verbum.org) +- Fix typo, add symlinks for roles (sdodson@redhat.com) +- Resolve deprecation warning (rteague@redhat.com) +- Revert temporary hack to skip router/registry upgrade. (dgoodwin@redhat.com) +- Don't attempt to install python-ruamel-yaml on atomic (sdodson@redhat.com) +- Pleasing the linting gods. (kwoodson@redhat.com) +- Fixed tests for pyyaml vs ruamel. Added import logic. Fixed safe load. + (kwoodson@redhat.com) +- update example templates+imagestreams (bparees@redhat.com) +- Adding fallback support for pyyaml. (kwoodson@redhat.com) +- bug 1420217. Default ES memory to be compariable to 3.4 deployer + (jcantril@redhat.com) +- Register cloudfront privkey when required (smilner@redhat.com) +- initialize oo_nodes_to_upgrade group when running control plane upgrade only + (jchaloup@redhat.com) +- adding some quotes for safety (ewolinet@redhat.com) +- Revert "Add block+when skip to `openshift_facts` tasks" (abutcher@redhat.com) +- Add missing full hostname for the Hawkular Metrics certificate (BZ1421060) + Fix issue where the signer certificate's name is static, preventing + redeployments from being acceptable. (mwringe@redhat.com) +- fixing use of oc_scale module (ewolinet@redhat.com) +- fixing default for logging (ewolinet@redhat.com) +- Fix some lint (jdetiber@redhat.com) +- Fixed issue where upgrade fails when using daemon sets (e.g. aggregated + logging) (adbaldi+ghub@gmail.com) +- upgrades: fix path to disable_excluder.yml (jchaloup@redhat.com) +- Add upgrade job step after the entire upgrade performs (maszulik@redhat.com) +- Ansible Lint cleanup and making filter/lookup plugins used by + openshift_master_facts available within the role (jdetiber@redhat.com) +- Update variant_version (smilner@redhat.com) +- Add block+when skip to `openshift_facts` tasks (tbielawa@redhat.com) +- Trying to fix up/audit note some changes (tbielawa@redhat.com) +- updating defaults for logging and metrics roles (ewolinet@redhat.com) +- Fix logic for checking docker-registry (rteague@redhat.com) +- node, vars/main.yml: define l_is_ha and l_is_same_version + (gscrivan@redhat.com) +- Modify playbooks to use oc_obj module (rteague@redhat.com) +- master, vars/main.yml: define l_is_ha and l_is_same_version + (gscrivan@redhat.com) +- oc route commands now using the oc_route module (smilner@redhat.com) +- Modify playbooks to use oc_label module (rteague@redhat.com) +- Fix cases where child classes override OpenShiftCLI values + (jdetiber@redhat.com) +- BZ1421860: increase Heapster's metric resolution to 30s (mwringe@redhat.com) +- BZ1421834: increase the Heapster metric resolution to 30s + (mwringe@redhat.com) +- Fix Bug 1419654 Remove legacy config_base fallback to /etc/openshift + (sdodson@redhat.com) +- Modify playbooks to use oadm_manage_node module (rteague@redhat.com) +- Removing trailing spaces (esauer@redhat.com) +- Removed adhoc s3_registry (smilner@redhat.com) +- replace 'oc service' command with its lib_openshift equivalent + (jchaloup@redhat.com) +- Making router pods scale with infra nodes (esauer@redhat.com) +- Provisioning of nfs share and PV for logging ops (efreiber@redhat.com) +- Add libselinux-python dependency for localhost (sdodson@redhat.com) +- oc secrets now done via oc_secret module (smilner@redhat.com) +- More fixes for reboot/wait for hosts. (dgoodwin@redhat.com) +- fix openshift_logging where defaults filter needs quoting + (jcantril@redhat.com) +- Do not hard code package names (rhcarvalho@gmail.com) +- Refactor code to access values from task_vars (rhcarvalho@gmail.com) +- oc serviceaccount now done via oc_serviceaccount module (smilner@redhat.com) +- bug 1420229. Bounce metrics components to recognize changes on updates or + upgrades (jcantril@redhat.com) +- node: simplify when conditionals (gscrivan@redhat.com) +- openvswitch: simplify when conditionals (gscrivan@redhat.com) +- uninstall: delete master-api and master-controllers (gscrivan@redhat.com) +- master: support HA deployments with system containers (gscrivan@redhat.com) +- Ensure etcd client certs are regenerated with embedded etcd. + (abutcher@redhat.com) +- bug 1420425. Allow setting of public facing certs for kibana in + openshift_logging role (jcantril@redhat.com) +- bug 1399523. Ops pvc should have different prefix from non-ops for + openshift_logging (jcantril@redhat.com) +- Include rpm/git paths in expiry README. (tbielawa@redhat.com) +- Fixing docs, linting, and comments. (kwoodson@redhat.com) +- fix bug 1420204. Default openshift_logging_use_journal to empty so fluentd + detects and is consistent with deployer (jcantril@redhat.com) +- Let pylint use as many CPUs as available (rhcarvalho@gmail.com) +- Add note about extraneous virtualenvs (rhcarvalho@gmail.com) +- Document how to create new checks (rhcarvalho@gmail.com) +- Introduce tag notation for checks (rhcarvalho@gmail.com) +- Replace multi-role checks with action plugin (rhcarvalho@gmail.com) +- Removing the /usr/bin/ansible-playbook dependency in in the spec file + (mwoodson@redhat.com) +- use the correct name for the ruamel-yaml python module (jchaloup@redhat.com) +- Reword module documentation (rhcarvalho@gmail.com) +- Separate import groups with a blank line (rhcarvalho@gmail.com) +- Remove commented-out debugging code (rhcarvalho@gmail.com) +- Replace service account secrets handling with oc_serviceaccount_secret module + (jchaloup@redhat.com) +- node: refactor Docker container tasks in a block (gscrivan@redhat.com) +- etcd: use as system container (gscrivan@redhat.com) +- Implement uninstall for system containers (gscrivan@redhat.com) +- system-containers: implement idempotent update (gscrivan@redhat.com) +- atomic-openshift: install as a system container (gscrivan@redhat.com) +- make sure cluster_size is an int for arith. ops (rmeggins@redhat.com) +- Bug 1420234 - illegal_argument_exception in Kibana UI. (rmeggins@redhat.com) +- bug 1420538. Allow users to set supplementalGroup for Cassandra + (jcantril@redhat.com) +- Document openshift_cockpit_deployer_prefix and add + openshift_cockpit_deployer_version (sdodson@redhat.com) +- Make the cert expiry playbooks runnable (tbielawa@redhat.com) +- Ensure embedded etcd config uses CA bundle. (abutcher@redhat.com) +- bug 1420684. On logging upgrade use the correct value for namespace + (jcantril@redhat.com) +- Fixing docs. (kwoodson@redhat.com) +- bug 1419962. fix openshift_metrics pwd issue after reinstall where cassandra + has incorrect pwd exception (jcantril@redhat.com) +- Fixing for linters. (kwoodson@redhat.com) +- Adding test cases. (kwoodson@redhat.com) +- Fixing docs. (kwoodson@redhat.com) +- oc process (ihorvath@redhat.com) +- node: ensure conntrack-tools is installed (gscrivan@redhat.com) +- Updating defaults to pull from previously defined variable names used in + playbooks (ewolinet@redhat.com) +- Pleasing the linting bot. (kwoodson@redhat.com) +- fixup! master: latest use same predicates as last version + (gscrivan@redhat.com) +- fixup! master: latest use same priorities as last version + (gscrivan@redhat.com) +- Adding integration tests. (kwoodson@redhat.com) +- Set image change triggers to auto=true for OCP 3.4 - for v1.5 + (simaishi@redhat.com) +- Reference class instead of self.__class__ within super constructor to avoid + calling self forever. (abutcher@redhat.com) +- Adding oc_env to lib_openshift. (kwoodson@redhat.com) +- Fixing for flake8 spacing. (kwoodson@redhat.com) +- Fixing tests for linters. (kwoodson@redhat.com) +- Adding port support for route. (kwoodson@redhat.com) +- use pvc_size instead of pv_size for openshift_metrics since the role creates + claims (jcantril@redhat.com) +- Added temporary kubeconfig file. Fixed tests to coincide with tmpfile. + (kwoodson@redhat.com) +- Set image change triggers to auto=true for OCP 3.4 + (https://github.com/ManageIQ/manageiq-pods/pull/88) (simaishi@redhat.com) +- fixes 1419839. Install only heapster for openshift_metrics when heapster + standalone flag is set (jcantril@redhat.com) +- Adding code to copy kubeconfig before running oc commands. + (kwoodson@redhat.com) +- master: latest use same predicates as last version (gscrivan@redhat.com) +- master: latest use same priorities as last version (gscrivan@redhat.com) +- Changed lib_openshift to use real temporary files. (twiest@redhat.com) +- Fixed ansible module unit and integration tests and added runners. + (twiest@redhat.com) +- Moving to ansible variable. (kwoodson@redhat.com) +- Specifying port for wait_for call. (kwoodson@redhat.com) +- Reverting commit 3257 and renaming master_url to openshift_logging_master_url + (ewolinet@redhat.com) +- [openshift_ca] Reference client binary from openshift_ca_host. + (abutcher@redhat.com) +- Fix playbooks/byo/openshift_facts.yml include path (sdodson@redhat.com) +- Add missing symlink to roles (rhcarvalho@gmail.com) +- Bump registry-console to 3.5 (sdodson@redhat.com) +- Added oc_serviceaccount_secret to lib_openshift. (twiest@redhat.com) +- fix 1406057. Allow openshift_metrics nodeselectors for components + (jcantril@redhat.com) +- Use service annotations to redeploy router service serving cert signer cert. + (abutcher@redhat.com) +- Move excluder disablement into control plane and node upgrade playbooks + (sdodson@redhat.com) +- Add excluder management to upgrade and config playbooks (sdodson@redhat.com) +- Add openshift_excluder role (sdodson@redhat.com) +- Fix RHEL Subscribe std_include path (tbielawa@redhat.com) +- Copies CloudFront pem file to registry hosts (smilner@redhat.com) +- Remove legacy router/registry certs and client configs from synchronized + master certs. (abutcher@redhat.com) +- Bump registry to 3.4 (sdodson@redhat.com) +- Sync latest image stream content (sdodson@redhat.com) +- Support latest for containerized version (gscrivan@redhat.com) +- Ensure python2-ruamel-yaml is installed (sdodson@redhat.com) +- openshift_logging link pull secret to serviceaccounts fix unlabel when + undeploying (jcantril@redhat.com) +- fixes 1414625. Fix check of keytool in openshift_metrics role + (jcantril@redhat.com) +- Doc enhancements. (kwoodson@redhat.com) +- fixes 1417261. Points playbooks to the correct 3.5 roles for logging and + metrics (jcantril@redhat.com) +- Change default docker log driver from json-file to journald. + (abutcher@redhat.com) +- Add logic to verify patched version of Ansible (rteague@redhat.com) +- Restructure certificate redeploy playbooks (abutcher@redhat.com) +- Temporary hack to skip router/registry upgrade. (dgoodwin@redhat.com) +- Fixing linters. (kwoodson@redhat.com) +- run node upgrade if master is node as part of the control plan upgrade only + (jchaloup@redhat.com) +- Appease yamllint (sdodson@redhat.com) +- Adding include_role to block to resolve when eval (ewolinet@redhat.com) +- Updating oc_apply to use command instead of shell (ewolinet@redhat.com) +- Wrap openshift_hosted_logging include_role within a block. + (abutcher@redhat.com) +- Adding unit test. Fixed redudant calls to get. (kwoodson@redhat.com) +- Fixing doc and generating new label with updated base. (kwoodson@redhat.com) +- oc_label ansible module (jdiaz@redhat.com) +- Fixing copy pasta comments. Fixed required in docs. (kwoodson@redhat.com) +- Fix openshift_hosted_logging bool typo. (abutcher@redhat.com) +- Updating oc_apply changed_when conditions, fixing filter usage for + openshift_hosted_logging playbook (ewolinet@redhat.com) +- Add default ansible.cfg file (rteague@redhat.com) +- Move current node upgrade tasks under openshift_node_upgrade role + (jchaloup@redhat.com) +- Fix host when waiting for a master system restart. (dgoodwin@redhat.com) +- Adding bool filter to when openshift_logging_use_ops evals and updating + oc_apply to handle trying to update immutable fields (ewolinet@redhat.com) +- Fixing for tox tests. (flake8|pylint) (kwoodson@redhat.com) +- Adding unit test for oc_service. Added environment fix for non-standard oc + installs. (kwoodson@redhat.com) +- Adding integration tests. (kwoodson@redhat.com) +- Adding oc_service to lib_openshift. (kwoodson@redhat.com) +- Sync etcd ca certs from etcd_ca_host to other etcd hosts + (jawed.khelil@amadeus.com) + * Tue Jan 31 2017 Scott Dodson <sdodson@redhat.com> 3.5.3-1 - Adding bool filter to ensure that we correctly set ops host for fluentd (ewolinet@redhat.com) diff --git a/playbooks/byo/openshift-cluster/upgrades/docker/docker_upgrade.yml b/playbooks/byo/openshift-cluster/upgrades/docker/docker_upgrade.yml index 4ee6afe2a..304559f6e 100644 --- a/playbooks/byo/openshift-cluster/upgrades/docker/docker_upgrade.yml +++ b/playbooks/byo/openshift-cluster/upgrades/docker/docker_upgrade.yml @@ -28,7 +28,7 @@ tasks: - name: Mark node unschedulable - oadm_manage_node: + oc_adm_manage_node: node: "{{ openshift.node.nodename | lower }}" schedulable: False delegate_to: "{{ groups.oo_first_master.0 }}" @@ -51,7 +51,7 @@ when: l_docker_upgrade is defined and l_docker_upgrade | bool - name: Set node schedulability - oadm_manage_node: + oc_adm_manage_node: node: "{{ openshift.node.nodename | lower }}" schedulable: True delegate_to: "{{ groups.oo_first_master.0 }}" diff --git a/playbooks/common/openshift-cluster/disable_excluder.yml b/playbooks/common/openshift-cluster/disable_excluder.yml index b2e025cb8..68bffb5f5 100644 --- a/playbooks/common/openshift-cluster/disable_excluder.yml +++ b/playbooks/common/openshift-cluster/disable_excluder.yml @@ -1,6 +1,6 @@ --- - name: Record excluder state and disable - hosts: l_oo_all_hosts + hosts: oo_masters_to_config:oo_nodes_to_config gather_facts: no tasks: diff --git a/playbooks/common/openshift-cluster/reset_excluder.yml b/playbooks/common/openshift-cluster/reset_excluder.yml index 7c544ee32..eaa8ce39c 100644 --- a/playbooks/common/openshift-cluster/reset_excluder.yml +++ b/playbooks/common/openshift-cluster/reset_excluder.yml @@ -1,6 +1,6 @@ --- - name: Re-enable excluder if it was previously enabled - hosts: l_oo_all_hosts + hosts: oo_masters_to_config:oo_nodes_to_config gather_facts: no tasks: - include_role: diff --git a/playbooks/common/openshift-cluster/upgrades/disable_excluder.yml b/playbooks/common/openshift-cluster/upgrades/disable_excluder.yml index 2a85dc92e..d1e431c5e 100644 --- a/playbooks/common/openshift-cluster/upgrades/disable_excluder.yml +++ b/playbooks/common/openshift-cluster/upgrades/disable_excluder.yml @@ -1,6 +1,6 @@ --- - name: Record excluder state and disable - hosts: l_oo_all_hosts + hosts: oo_masters_to_config:oo_nodes_to_config gather_facts: no tasks: - include: pre/validate_excluder.yml diff --git a/playbooks/common/openshift-cluster/upgrades/upgrade_control_plane.yml b/playbooks/common/openshift-cluster/upgrades/upgrade_control_plane.yml index babb7191d..e16a1f6d0 100644 --- a/playbooks/common/openshift-cluster/upgrades/upgrade_control_plane.yml +++ b/playbooks/common/openshift-cluster/upgrades/upgrade_control_plane.yml @@ -262,7 +262,7 @@ # or docker actually needs an upgrade before proceeding. Perhaps best to save this until # we merge upgrade functionality into the base roles and a normal config.yml playbook run. - name: Mark node unschedulable - oadm_manage_node: + oc_adm_manage_node: node: "{{ openshift.node.nodename | lower }}" schedulable: False delegate_to: "{{ groups.oo_first_master.0 }}" @@ -284,7 +284,7 @@ post_tasks: - name: Set node schedulability - oadm_manage_node: + oc_adm_manage_node: node: "{{ openshift.node.nodename | lower }}" schedulable: True delegate_to: "{{ groups.oo_first_master.0 }}" diff --git a/playbooks/common/openshift-cluster/upgrades/upgrade_nodes.yml b/playbooks/common/openshift-cluster/upgrades/upgrade_nodes.yml index 4e1838c71..e9f894942 100644 --- a/playbooks/common/openshift-cluster/upgrades/upgrade_nodes.yml +++ b/playbooks/common/openshift-cluster/upgrades/upgrade_nodes.yml @@ -15,7 +15,7 @@ # or docker actually needs an upgrade before proceeding. Perhaps best to save this until # we merge upgrade functionality into the base roles and a normal config.yml playbook run. - name: Mark node unschedulable - oadm_manage_node: + oc_adm_manage_node: node: "{{ openshift.node.nodename | lower }}" schedulable: False delegate_to: "{{ groups.oo_first_master.0 }}" @@ -37,7 +37,7 @@ post_tasks: - name: Set node schedulability - oadm_manage_node: + oc_adm_manage_node: node: "{{ openshift.node.nodename | lower }}" schedulable: True delegate_to: "{{ groups.oo_first_master.0 }}" diff --git a/playbooks/common/openshift-master/scaleup.yml b/playbooks/common/openshift-master/scaleup.yml index 18e5c665f..c59747081 100644 --- a/playbooks/common/openshift-master/scaleup.yml +++ b/playbooks/common/openshift-master/scaleup.yml @@ -60,8 +60,19 @@ - openshift_facts - openshift_docker +- include: ../openshift-cluster/disable_excluder.yml + vars: + # the excluders needs to be disabled no matter what status says + with_status_check: false + tags: + - always + - include: ../openshift-master/config.yml - include: ../openshift-loadbalancer/config.yml - include: ../openshift-node/config.yml + +- include: ../openshift-cluster/reset_excluder.yml + tags: + - always diff --git a/playbooks/common/openshift-node/scaleup.yml b/playbooks/common/openshift-node/scaleup.yml index bb3b1e780..d81bd152e 100644 --- a/playbooks/common/openshift-node/scaleup.yml +++ b/playbooks/common/openshift-node/scaleup.yml @@ -27,4 +27,15 @@ - openshift_facts - openshift_docker +- include: ../openshift-cluster/disable_excluder.yml + vars: + # the excluders needs to be disabled no matter what status says + with_status_check: false + tags: + - always + - include: ../openshift-node/config.yml + +- include: ../openshift-cluster/reset_excluder.yml + tags: + - always diff --git a/roles/lib_openshift/library/oc_adm_ca_server_cert.py b/roles/lib_openshift/library/oc_adm_ca_server_cert.py index 4ecfd2bff..af1d13fe1 100644 --- a/roles/lib_openshift/library/oc_adm_ca_server_cert.py +++ b/roles/lib_openshift/library/oc_adm_ca_server_cert.py @@ -1058,9 +1058,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oadm_manage_node.py b/roles/lib_openshift/library/oc_adm_manage_node.py index 8bb0538c0..0050ccf62 100644 --- a/roles/lib_openshift/library/oadm_manage_node.py +++ b/roles/lib_openshift/library/oc_adm_manage_node.py @@ -54,7 +54,7 @@ from ansible.module_utils.basic import AnsibleModule DOCUMENTATION = ''' --- -module: oadm_manage_node +module: oc_adm_manage_node short_description: Module to manage openshift nodes description: - Manage openshift nodes programmatically. @@ -126,13 +126,13 @@ extends_documentation_fragment: [] EXAMPLES = ''' - name: oadm manage-node --schedulable=true --selector=ops_node=new - oadm_manage_node: + oc_adm_manage_node: selector: ops_node=new schedulable: True register: schedout - name: oadm manage-node my-k8s-node-5 --evacuate - oadm_manage_node: + oc_adm_manage_node: node: my-k8s-node-5 evacuate: True force: True @@ -1050,9 +1050,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout @@ -1369,7 +1369,7 @@ class OpenShiftCLIConfig(object): # -*- -*- -*- End included fragment: lib/base.py -*- -*- -*- -# -*- -*- -*- Begin included fragment: class/oadm_manage_node.py -*- -*- -*- +# -*- -*- -*- Begin included fragment: class/oc_adm_manage_node.py -*- -*- -*- class ManageNodeException(Exception): @@ -1578,9 +1578,9 @@ class ManageNode(OpenShiftCLI): return {'changed': changed, 'results': results, 'state': "present"} -# -*- -*- -*- End included fragment: class/oadm_manage_node.py -*- -*- -*- +# -*- -*- -*- End included fragment: class/oc_adm_manage_node.py -*- -*- -*- -# -*- -*- -*- Begin included fragment: ansible/oadm_manage_node.py -*- -*- -*- +# -*- -*- -*- Begin included fragment: ansible/oc_adm_manage_node.py -*- -*- -*- def main(): @@ -1618,4 +1618,4 @@ def main(): if __name__ == "__main__": main() -# -*- -*- -*- End included fragment: ansible/oadm_manage_node.py -*- -*- -*- +# -*- -*- -*- End included fragment: ansible/oc_adm_manage_node.py -*- -*- -*- diff --git a/roles/lib_openshift/library/oc_adm_policy_group.py b/roles/lib_openshift/library/oc_adm_policy_group.py index 49ff22584..3d1dc1c96 100644 --- a/roles/lib_openshift/library/oc_adm_policy_group.py +++ b/roles/lib_openshift/library/oc_adm_policy_group.py @@ -1036,9 +1036,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_adm_policy_user.py b/roles/lib_openshift/library/oc_adm_policy_user.py index bed05044c..83f2165a3 100644 --- a/roles/lib_openshift/library/oc_adm_policy_user.py +++ b/roles/lib_openshift/library/oc_adm_policy_user.py @@ -1036,9 +1036,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_adm_registry.py b/roles/lib_openshift/library/oc_adm_registry.py index 9eb268388..93cf34559 100644 --- a/roles/lib_openshift/library/oc_adm_registry.py +++ b/roles/lib_openshift/library/oc_adm_registry.py @@ -1154,9 +1154,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_adm_router.py b/roles/lib_openshift/library/oc_adm_router.py index ab06a5141..e666e0d09 100644 --- a/roles/lib_openshift/library/oc_adm_router.py +++ b/roles/lib_openshift/library/oc_adm_router.py @@ -1179,9 +1179,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_edit.py b/roles/lib_openshift/library/oc_edit.py index 7a7eaf40a..42f50ebe7 100644 --- a/roles/lib_openshift/library/oc_edit.py +++ b/roles/lib_openshift/library/oc_edit.py @@ -1078,9 +1078,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_env.py b/roles/lib_openshift/library/oc_env.py index a1994b0f1..3088ea947 100644 --- a/roles/lib_openshift/library/oc_env.py +++ b/roles/lib_openshift/library/oc_env.py @@ -1045,9 +1045,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_label.py b/roles/lib_openshift/library/oc_label.py index 109a78184..cfcb15241 100644 --- a/roles/lib_openshift/library/oc_label.py +++ b/roles/lib_openshift/library/oc_label.py @@ -1054,9 +1054,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_obj.py b/roles/lib_openshift/library/oc_obj.py index bd6e77c2a..f5cba696d 100644 --- a/roles/lib_openshift/library/oc_obj.py +++ b/roles/lib_openshift/library/oc_obj.py @@ -1057,9 +1057,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_objectvalidator.py b/roles/lib_openshift/library/oc_objectvalidator.py index 1d0e4c876..4e1e769cf 100644 --- a/roles/lib_openshift/library/oc_objectvalidator.py +++ b/roles/lib_openshift/library/oc_objectvalidator.py @@ -989,9 +989,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_process.py b/roles/lib_openshift/library/oc_process.py index 14d519e52..cabb2ff29 100644 --- a/roles/lib_openshift/library/oc_process.py +++ b/roles/lib_openshift/library/oc_process.py @@ -1046,9 +1046,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_project.py b/roles/lib_openshift/library/oc_project.py index 4f82abcfe..6091234b9 100644 --- a/roles/lib_openshift/library/oc_project.py +++ b/roles/lib_openshift/library/oc_project.py @@ -1043,9 +1043,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_route.py b/roles/lib_openshift/library/oc_route.py index 97dd310bc..fe59cca33 100644 --- a/roles/lib_openshift/library/oc_route.py +++ b/roles/lib_openshift/library/oc_route.py @@ -1088,9 +1088,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_scale.py b/roles/lib_openshift/library/oc_scale.py index 56e4e38f7..98f1d94a7 100644 --- a/roles/lib_openshift/library/oc_scale.py +++ b/roles/lib_openshift/library/oc_scale.py @@ -1032,9 +1032,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_secret.py b/roles/lib_openshift/library/oc_secret.py index ad32d4900..deba4ab8a 100644 --- a/roles/lib_openshift/library/oc_secret.py +++ b/roles/lib_openshift/library/oc_secret.py @@ -1078,9 +1078,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_service.py b/roles/lib_openshift/library/oc_service.py index a4d0ca3f3..c2e91e39e 100644 --- a/roles/lib_openshift/library/oc_service.py +++ b/roles/lib_openshift/library/oc_service.py @@ -1084,9 +1084,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_serviceaccount.py b/roles/lib_openshift/library/oc_serviceaccount.py index b6586fca9..a1d8fff14 100644 --- a/roles/lib_openshift/library/oc_serviceaccount.py +++ b/roles/lib_openshift/library/oc_serviceaccount.py @@ -1030,9 +1030,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_serviceaccount_secret.py b/roles/lib_openshift/library/oc_serviceaccount_secret.py index 925a5a088..470043cc6 100644 --- a/roles/lib_openshift/library/oc_serviceaccount_secret.py +++ b/roles/lib_openshift/library/oc_serviceaccount_secret.py @@ -1030,9 +1030,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/library/oc_version.py b/roles/lib_openshift/library/oc_version.py index 8f59d4d7e..378c2b2e5 100644 --- a/roles/lib_openshift/library/oc_version.py +++ b/roles/lib_openshift/library/oc_version.py @@ -1002,9 +1002,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/src/ansible/oadm_manage_node.py b/roles/lib_openshift/src/ansible/oc_adm_manage_node.py index b870c1211..b870c1211 100644 --- a/roles/lib_openshift/src/ansible/oadm_manage_node.py +++ b/roles/lib_openshift/src/ansible/oc_adm_manage_node.py diff --git a/roles/lib_openshift/src/class/oadm_manage_node.py b/roles/lib_openshift/src/class/oc_adm_manage_node.py index c07320477..c07320477 100644 --- a/roles/lib_openshift/src/class/oadm_manage_node.py +++ b/roles/lib_openshift/src/class/oc_adm_manage_node.py diff --git a/roles/lib_openshift/src/doc/manage_node b/roles/lib_openshift/src/doc/manage_node index 382377f3e..b651ea4e7 100644 --- a/roles/lib_openshift/src/doc/manage_node +++ b/roles/lib_openshift/src/doc/manage_node @@ -3,7 +3,7 @@ DOCUMENTATION = ''' --- -module: oadm_manage_node +module: oc_adm_manage_node short_description: Module to manage openshift nodes description: - Manage openshift nodes programmatically. @@ -75,13 +75,13 @@ extends_documentation_fragment: [] EXAMPLES = ''' - name: oadm manage-node --schedulable=true --selector=ops_node=new - oadm_manage_node: + oc_adm_manage_node: selector: ops_node=new schedulable: True register: schedout - name: oadm manage-node my-k8s-node-5 --evacuate - oadm_manage_node: + oc_adm_manage_node: node: my-k8s-node-5 evacuate: True force: True diff --git a/roles/lib_openshift/src/lib/base.py b/roles/lib_openshift/src/lib/base.py index 334542b97..132c586c9 100644 --- a/roles/lib_openshift/src/lib/base.py +++ b/roles/lib_openshift/src/lib/base.py @@ -283,9 +283,9 @@ class OpenShiftCLI(object): if output_type == 'json': try: rval['results'] = json.loads(stdout) - except ValueError as err: - if "No JSON object could be decoded" in err.args: - err = err.args + except ValueError as verr: + if "No JSON object could be decoded" in verr.args: + err = verr.args elif output_type == 'raw': rval['results'] = stdout diff --git a/roles/lib_openshift/src/sources.yml b/roles/lib_openshift/src/sources.yml index f16b3c8de..44a1524b0 100644 --- a/roles/lib_openshift/src/sources.yml +++ b/roles/lib_openshift/src/sources.yml @@ -9,15 +9,15 @@ oc_adm_ca_server_cert.py: - class/oc_adm_ca_server_cert.py - ansible/oc_adm_ca_server_cert.py -oadm_manage_node.py: +oc_adm_manage_node.py: - doc/generated - doc/license - lib/import.py - doc/manage_node - ../../lib_utils/src/class/yedit.py - lib/base.py -- class/oadm_manage_node.py -- ansible/oadm_manage_node.py +- class/oc_adm_manage_node.py +- ansible/oc_adm_manage_node.py oc_adm_policy_user.py: - doc/generated diff --git a/roles/lib_openshift/src/test/integration/oadm_manage_node.yml b/roles/lib_openshift/src/test/integration/oc_adm_manage_node.yml index 3ee13a409..1ed2ef11b 100755 --- a/roles/lib_openshift/src/test/integration/oadm_manage_node.yml +++ b/roles/lib_openshift/src/test/integration/oc_adm_manage_node.yml @@ -1,6 +1,6 @@ #!/usr/bin/ansible-playbook --module-path=../../../library/ # -# ./oadm_manage_node.yml -e "cli_master_test=$OPENSHIFT_MASTER +# ./oc_adm_manage_node.yml -e "cli_master_test=$OPENSHIFT_MASTER --- - hosts: "{{ cli_master_test }}" gather_facts: no @@ -17,7 +17,7 @@ node_to_test: "{{ obj_out['results']['results'][0]['items'][0]['metadata']['name'] }}" - name: list pods from a node - oadm_manage_node: + oc_adm_manage_node: list_pods: True node: - "{{ node_to_test }}" @@ -29,7 +29,7 @@ msg: Pod data was not returned - name: set node to unschedulable - oadm_manage_node: + oc_adm_manage_node: schedulable: False node: - "{{ node_to_test }}" @@ -56,7 +56,7 @@ that: nodeout.results.results[0]['spec']['unschedulable'] - name: set node to schedulable - oadm_manage_node: + oc_adm_manage_node: schedulable: True node: - "{{ node_to_test }}" diff --git a/roles/lib_openshift/src/test/unit/test_oadm_manage_node.py b/roles/lib_openshift/src/test/unit/test_oc_adm_manage_node.py index 27d98b869..312b1ecbb 100755 --- a/roles/lib_openshift/src/test/unit/test_oadm_manage_node.py +++ b/roles/lib_openshift/src/test/unit/test_oc_adm_manage_node.py @@ -1,5 +1,5 @@ ''' - Unit tests for oadm_manage_node + Unit tests for oc_adm_manage_node ''' import os @@ -16,16 +16,16 @@ import mock # place class in our python path module_path = os.path.join('/'.join(os.path.realpath(__file__).split('/')[:-4]), 'library') # noqa: E501 sys.path.insert(0, module_path) -from oadm_manage_node import ManageNode, locate_oc_binary # noqa: E402 +from oc_adm_manage_node import ManageNode, locate_oc_binary # noqa: E402 class ManageNodeTest(unittest.TestCase): ''' - Test class for oadm_manage_node + Test class for oc_adm_manage_node ''' - @mock.patch('oadm_manage_node.Utils.create_tmpfile_copy') - @mock.patch('oadm_manage_node.ManageNode.openshift_cmd') + @mock.patch('oc_adm_manage_node.Utils.create_tmpfile_copy') + @mock.patch('oc_adm_manage_node.ManageNode.openshift_cmd') def test_list_pods(self, mock_openshift_cmd, mock_tmpfile_copy): ''' Testing a get ''' params = {'node': ['ip-172-31-49-140.ec2.internal'], @@ -107,8 +107,8 @@ class ManageNodeTest(unittest.TestCase): # returned 2 pods self.assertTrue(len(results['results']['nodes']['ip-172-31-49-140.ec2.internal']) == 2) - @mock.patch('oadm_manage_node.Utils.create_tmpfile_copy') - @mock.patch('oadm_manage_node.ManageNode.openshift_cmd') + @mock.patch('oc_adm_manage_node.Utils.create_tmpfile_copy') + @mock.patch('oc_adm_manage_node.ManageNode.openshift_cmd') def test_schedulable_false(self, mock_openshift_cmd, mock_tmpfile_copy): ''' Testing a get ''' params = {'node': ['ip-172-31-49-140.ec2.internal'], diff --git a/roles/openshift_excluder/tasks/disable.yml b/roles/openshift_excluder/tasks/disable.yml index a8deb3eb1..2245c7b21 100644 --- a/roles/openshift_excluder/tasks/disable.yml +++ b/roles/openshift_excluder/tasks/disable.yml @@ -18,9 +18,5 @@ # it the docker excluder is enabled, we install it and in case its status is non-zero # it is enabled no matter what -# Check the current state of all excluders -- include: status.yml - when: with_status_check | default(docker_excluder_on or openshift_excluder_on) | bool - # And finally adjust an excluder in order to update host components correctly - include: adjust.yml diff --git a/roles/openshift_excluder/tasks/main.yml b/roles/openshift_excluder/tasks/main.yml deleted file mode 100644 index 78a3d37cb..000000000 --- a/roles/openshift_excluder/tasks/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -include: status.yml diff --git a/roles/openshift_excluder/tasks/status.yml b/roles/openshift_excluder/tasks/status.yml deleted file mode 100644 index 363ccdbea..000000000 --- a/roles/openshift_excluder/tasks/status.yml +++ /dev/null @@ -1,84 +0,0 @@ ---- -- name: Determine if excluder packages are installed - rpm_q: - name: "{{ openshift.common.service_type }}-excluder" - state: present - register: openshift_excluder_installed - failed_when: false - -# docker excluder needs to be enable by default -- name: Determine if docker packages are installed - rpm_q: - name: "{{ openshift.common.service_type }}-docker-excluder" - state: present - register: docker_excluder_installed - failed_when: false - -# The excluder status function returns 0 when everything is excluded -# and 1 if any packages are missing from the exclusions list and outputs a warning to stderr -# # atomic-openshift-excluder status ; echo $? -# exclude -- All packages excluded -# 0 -# # atomic-openshift-excluder unexclude -# # atomic-openshift-excluder status ; echo $? -# unexclude -- At least one package not excluded -# 1 - -- block: - - include: init.yml - - block: - - name: Record openshift excluder status - command: "{{ openshift.common.service_type }}-excluder status" - register: excluder_status - failed_when: false - - # Even though the openshift excluder is enabled - # if the status is non-zero, disabled the excluder - - name: Override openshift excluder enablement if the status is non-zero - set_fact: - disable_openshift_excluder_override: true - when: - - "{{ excluder_status.rc | default(0) != 0 }}" - - - debug: - msg: "Disabling openshift excluder" - when: - - "{{ excluder_status.rc | default(0) != 0 }}" - - when: - - "{{ openshift_excluder_installed.installed_versions | default([]) | length > 0 }}" - - "{{ openshift_excluder_on }}" - - - block: - - name: Record docker excluder status - command: "{{ openshift.common.service_type }}-docker-excluder status" - register: docker_excluder_status - failed_when: false - - # If the docker excluder is installed and the status is non-zero - # always enable the docker excluder - - name: Override docker excluder enablement if the status is non-zero - set_fact: - enable_docker_excluder_override: true - when: - - "{{ docker_excluder_status.rc | default(0) != 0 }}" - - - debug: - msg: "Enabling docker excluder" - when: - - "{{ docker_excluder_status.rc | default(0) != 0 }}" - - # As the docker excluder status is not satisfied, - # re-enable entire docker excluder again - # At the same time keep the override set in a case other task would - - name: Enable docker excluder - command: "{{ openshift.common.service_type }}-docker-excluder exclude" - - # Run the docker excluder status even if the excluder is disabled. - # In order to determine of the excluder needs to be enabled. - when: - - "{{ docker_excluder_installed.installed_versions | default([]) | length > 0 }}" - - "{{ docker_excluder_on }}" - - when: - - not openshift.common.is_atomic | bool diff --git a/roles/openshift_logging/defaults/main.yml b/roles/openshift_logging/defaults/main.yml index ad9c1ce42..04fd42cbf 100644 --- a/roles/openshift_logging/defaults/main.yml +++ b/roles/openshift_logging/defaults/main.yml @@ -3,7 +3,7 @@ openshift_logging_image_prefix: "{{ openshift_hosted_logging_deployer_prefix | d openshift_logging_image_version: "{{ openshift_hosted_logging_deployer_version | default('latest') }}" openshift_logging_use_ops: "{{ openshift_hosted_logging_enable_ops_cluster | default('false') | bool }}" openshift_logging_master_url: "https://kubernetes.default.svc.{{ openshift.common.dns_domain }}" -openshift_logging_master_public_url: "{{ openshift_hosted_logging_master_public_url | default('https://' + openshift.common.public_hostname + ':' + openshift.master.api_port) }}" +openshift_logging_master_public_url: "{{ openshift_hosted_logging_master_public_url | default('https://' + openshift.common.public_hostname + ':' ~ (openshift_master_api_port | default('8443', true))) }}" openshift_logging_namespace: logging openshift_logging_install_logging: True openshift_logging_image_pull_secret: "{{ openshift_hosted_logging_image_pull_secret | default('') }}" @@ -22,7 +22,7 @@ openshift_logging_curator_ops_cpu_limit: 100m openshift_logging_curator_ops_memory_limit: null openshift_logging_curator_ops_nodeselector: "{{ openshift_hosted_logging_curator_ops_nodeselector | default('') | map_from_pairs }}" -openshift_logging_kibana_hostname: "{{ openshift_hosted_logging_hostname | default('kibana.' + openshift.common.dns_domain) }}" +openshift_logging_kibana_hostname: "{{ openshift_hosted_logging_hostname | default('kibana.' ~ (openshift_master_default_subdomain | default('router.default.svc.cluster.local', true))) }}" openshift_logging_kibana_cpu_limit: null openshift_logging_kibana_memory_limit: null openshift_logging_kibana_proxy_debug: false @@ -46,7 +46,7 @@ openshift_logging_kibana_key: "" #for the public facing kibana certs openshift_logging_kibana_ca: "" -openshift_logging_kibana_ops_hostname: "{{ openshift_hosted_logging_ops_hostname | default('kibana-ops.' + openshift.common.dns_domain) }}" +openshift_logging_kibana_ops_hostname: "{{ openshift_hosted_logging_ops_hostname | default('kibana-ops.' ~ (openshift_master_default_subdomain | default('router.default.svc.cluster.local', true))) }}" openshift_logging_kibana_ops_cpu_limit: null openshift_logging_kibana_ops_memory_limit: null openshift_logging_kibana_ops_proxy_debug: false @@ -99,7 +99,7 @@ openshift_logging_es_ops_storage_group: "{{ openshift_hosted_logging_elasticsear openshift_logging_es_ops_nodeselector: "{{ openshift_hosted_logging_elasticsearch_ops_nodeselector | default('') | map_from_pairs }}" # storage related defaults -openshift_logging_storage_access_modes: "{{ openshift_hosted_logging_storage_access_modes | default('ReadWriteOnce') }}" +openshift_logging_storage_access_modes: "{{ openshift_hosted_logging_storage_access_modes | default(['ReadWriteOnce']) }}" # following can be uncommented to provide values for configmaps -- take care when providing file contents as it may cause your cluster to not operate correctly diff --git a/roles/openshift_logging/tasks/generate_pvcs.yaml b/roles/openshift_logging/tasks/generate_pvcs.yaml index e1629908f..fa7a86c27 100644 --- a/roles/openshift_logging/tasks/generate_pvcs.yaml +++ b/roles/openshift_logging/tasks/generate_pvcs.yaml @@ -15,8 +15,7 @@ vars: obj_name: "{{claim_name}}" size: "{{es_pvc_size}}" - access_modes: - - "{{ es_access_modes }}" + access_modes: "{{ es_access_modes | list }}" pv_selector: "{{es_pv_selector}}" with_items: - "{{es_pvc_pool | default([])}}" @@ -35,8 +34,7 @@ annotations: volume.alpha.kubernetes.io/storage-class: "dynamic" size: "{{es_pvc_size}}" - access_modes: - - "{{ es_access_modes }}" + access_modes: "{{ es_access_modes | list }}" pv_selector: "{{es_pv_selector}}" with_items: - "{{es_pvc_pool|default([])}}" diff --git a/roles/openshift_logging/tasks/install_elasticsearch.yaml b/roles/openshift_logging/tasks/install_elasticsearch.yaml index 7cf39234f..1b750bcbe 100644 --- a/roles/openshift_logging/tasks/install_elasticsearch.yaml +++ b/roles/openshift_logging/tasks/install_elasticsearch.yaml @@ -2,6 +2,9 @@ - name: Getting current ES deployment size set_fact: openshift_logging_current_es_size={{ openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | length }} +- set_fact: openshift_logging_es_pvc_prefix="logging-es" + when: "not openshift_logging_es_pvc_prefix or openshift_logging_es_pvc_prefix == ''" + - set_fact: es_pvc_pool={{[]}} - set_fact: openshift_logging_es_pvc_prefix="{{ openshift_logging_es_pvc_prefix | default('logging-es') }}" @@ -72,6 +75,9 @@ - "{{es_dcs | length - openshift_logging_es_ops_cluster_size|int | abs > 1}}" check_mode: no +- set_fact: openshift_logging_es_ops_pvc_prefix="logging-es-ops" + when: "not openshift_logging_es_ops_pvc_prefix or openshift_logging_es_ops_pvc_prefix == ''" + - set_fact: es_pvc_pool={{[]}} - name: Generate PersistentVolumeClaims for Ops diff --git a/roles/openshift_manage_node/tasks/main.yml b/roles/openshift_manage_node/tasks/main.yml index 9a883feed..f67aee88b 100644 --- a/roles/openshift_manage_node/tasks/main.yml +++ b/roles/openshift_manage_node/tasks/main.yml @@ -39,7 +39,7 @@ delegate_to: "{{ openshift_master_host }}" - name: Set node schedulability - oadm_manage_node: + oc_adm_manage_node: node: "{{ openshift.node.nodename | lower }}" schedulable: "{{ 'true' if openshift.node.schedulable | bool else 'false' }}" retries: 10 diff --git a/roles/openshift_metrics/defaults/main.yaml b/roles/openshift_metrics/defaults/main.yaml index db4a0e1fc..5921b7bb7 100644 --- a/roles/openshift_metrics/defaults/main.yaml +++ b/roles/openshift_metrics/defaults/main.yaml @@ -47,7 +47,7 @@ openshift_metrics_node_id: nodename openshift_metrics_project: openshift-infra openshift_metrics_cassandra_pvc_prefix: "{{ openshift_hosted_metrics_storage_volume_name | default('metrics-cassandra') }}" -openshift_metrics_cassandra_pvc_access: "{{ openshift_hosted_metrics_storage_access_modes | default('ReadWriteOnce') }}" +openshift_metrics_cassandra_pvc_access: "{{ openshift_hosted_metrics_storage_access_modes | default(['ReadWriteOnce']) }}" openshift_metrics_hawkular_user_write_access: False diff --git a/roles/openshift_metrics/tasks/install_cassandra.yaml b/roles/openshift_metrics/tasks/install_cassandra.yaml index 878bf2c82..a467c1a51 100644 --- a/roles/openshift_metrics/tasks/install_cassandra.yaml +++ b/roles/openshift_metrics/tasks/install_cassandra.yaml @@ -22,7 +22,8 @@ with_sequence: count={{ openshift_metrics_cassandra_replicas }} changed_when: false -- set_fact: openshift_metrics_cassandra_pvc_prefix="{{ openshift_metrics_cassandra_pvc_prefix | default('hawkular-metrics') }}" +- set_fact: openshift_metrics_cassandra_pvc_prefix="hawkular-metrics" + when: "not openshift_metrics_cassandra_pvc_prefix or openshift_metrics_cassandra_pvc_prefix == ''" - name: generate hawkular-cassandra persistent volume claims template: @@ -32,8 +33,7 @@ obj_name: "{{ openshift_metrics_cassandra_pvc_prefix }}-{{ item }}" labels: metrics-infra: hawkular-cassandra - access_modes: - - "{{ openshift_metrics_cassandra_pvc_access }}" + access_modes: "{{ openshift_metrics_cassandra_pvc_access | list }}" size: "{{ openshift_metrics_cassandra_pvc_size }}" with_sequence: count={{ openshift_metrics_cassandra_replicas }} when: @@ -51,8 +51,7 @@ metrics-infra: hawkular-cassandra annotations: volume.alpha.kubernetes.io/storage-class: dynamic - access_modes: - - "{{ openshift_metrics_cassandra_pvc_access }}" + access_modes: "{{ openshift_metrics_cassandra_pvc_access | list }}" size: "{{ openshift_metrics_cassandra_pvc_size }}" with_sequence: count={{ openshift_metrics_cassandra_replicas }} when: openshift_metrics_cassandra_storage_type == 'dynamic' diff --git a/roles/openshift_node/templates/openshift.docker.node.service b/roles/openshift_node/templates/openshift.docker.node.service index 6ec88f85e..b4fd5aeb0 100644 --- a/roles/openshift_node/templates/openshift.docker.node.service +++ b/roles/openshift_node/templates/openshift.docker.node.service @@ -6,6 +6,8 @@ PartOf=docker.service Requires=docker.service {% if openshift.common.use_openshift_sdn %} Requires=openvswitch.service +After=ovsdb-server.service +After=ovs-vswitchd.service {% endif %} Wants={{ openshift.common.service_type }}-master.service Requires={{ openshift.common.service_type }}-node-dep.service |