Skip to content

Commit

Permalink
Merge branch 'develop' into feature/upgr-node-eporter-2747
Browse files Browse the repository at this point in the history
  • Loading branch information
romsok24 authored Dec 13, 2021
2 parents 4d4b813 + 2fde9d6 commit 940e284
Show file tree
Hide file tree
Showing 29 changed files with 445 additions and 305 deletions.
320 changes: 160 additions & 160 deletions .devcontainer/poetry.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .devcontainer/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ python-json-logger = "*"
ansible = "==2.10.7"
terraform-bin = "*"
"ruamel.yaml" = "*"
azure-cli = "2.31.0"
azure-cli = "2.29.0"

[build-system]
requires = ["poetry-core>=1.0.0"]
Expand Down
74 changes: 37 additions & 37 deletions .devcontainer/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,18 @@ argcomplete==1.12.3; python_full_version >= "3.6.0"
attrs==21.2.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7"
azure-appconfiguration==1.1.1; python_full_version >= "3.6.0"
azure-batch==11.0.0; python_full_version >= "3.6.0"
azure-cli-core==2.31.0; python_full_version >= "3.6.0"
azure-cli-core==2.29.0; python_full_version >= "3.6.0"
azure-cli-telemetry==1.0.6; python_full_version >= "3.6.0"
azure-cli==2.31.0; python_full_version >= "3.6.0"
azure-cli==2.29.0; python_full_version >= "3.6.0"
azure-common==1.1.27; python_full_version >= "3.6.0"
azure-core==1.21.1; python_full_version >= "3.6.0"
azure-cosmos==3.2.0; python_full_version >= "3.6.0"
azure-datalake-store==0.0.52; python_full_version >= "3.6.0"
azure-functions-devops-build==0.0.22; python_full_version >= "3.6.0"
azure-graphrbac==0.60.0; python_full_version >= "3.6.0"
azure-identity==1.7.1; python_full_version >= "3.6.0"
azure-keyvault-administration==4.0.0b3; python_full_version >= "3.6.0"
azure-keyvault-keys==4.5.0b5; python_full_version >= "3.6.0"
azure-keyvault-keys==4.4.0; python_full_version >= "3.6.0"
azure-keyvault==1.1.0; python_full_version >= "3.6.0"
azure-loganalytics==0.1.1; python_full_version >= "3.6.0"
azure-mgmt-advisor==9.0.0; python_full_version >= "3.6.0"
Expand All @@ -30,31 +31,31 @@ azure-mgmt-batchai==7.0.0b1; python_full_version >= "3.6.0"
azure-mgmt-billing==6.0.0; python_full_version >= "3.6.0"
azure-mgmt-botservice==0.3.0; python_full_version >= "3.6.0"
azure-mgmt-cdn==11.0.0; python_full_version >= "3.6.0"
azure-mgmt-cognitiveservices==13.0.0; python_full_version >= "3.6.0"
azure-mgmt-compute==23.1.0; python_full_version >= "3.6.0"
azure-mgmt-cognitiveservices==12.0.0; python_full_version >= "3.6.0"
azure-mgmt-compute==23.0.0; python_full_version >= "3.6.0"
azure-mgmt-consumption==2.0.0; python_full_version >= "3.6.0"
azure-mgmt-containerinstance==9.1.0; python_full_version >= "3.6.0"
azure-mgmt-containerregistry==8.2.0; python_full_version >= "3.6.0"
azure-mgmt-containerinstance==9.0.0; python_full_version >= "3.6.0"
azure-mgmt-containerregistry==8.1.0; python_full_version >= "3.6.0"
azure-mgmt-containerservice==16.1.0; python_full_version >= "3.6.0"
azure-mgmt-core==1.3.0; python_full_version >= "3.6.0"
azure-mgmt-cosmosdb==7.0.0b2; python_full_version >= "3.6.0"
azure-mgmt-core==1.2.2; python_full_version >= "3.6.0"
azure-mgmt-cosmosdb==6.4.0; python_full_version >= "3.6.0"
azure-mgmt-databoxedge==1.0.0; python_full_version >= "3.6.0"
azure-mgmt-datalake-analytics==0.2.1; python_full_version >= "3.6.0"
azure-mgmt-datalake-nspkg==3.0.1; python_full_version >= "3.6.0"
azure-mgmt-datalake-store==0.5.0; python_full_version >= "3.6.0"
azure-mgmt-datamigration==10.0.0; python_full_version >= "3.6.0"
azure-mgmt-datamigration==9.0.0; python_full_version >= "3.6.0"
azure-mgmt-deploymentmanager==0.2.0; python_full_version >= "3.6.0"
azure-mgmt-devtestlabs==4.0.0; python_full_version >= "3.6.0"
azure-mgmt-dns==8.0.0; python_full_version >= "3.6.0"
azure-mgmt-eventgrid==9.0.0; python_full_version >= "3.6.0"
azure-mgmt-eventhub==9.1.0; python_full_version >= "3.6.0"
azure-mgmt-extendedlocation==1.0.0; python_full_version >= "3.6.0"
azure-mgmt-hdinsight==9.0.0; python_full_version >= "3.6.0"
azure-mgmt-hdinsight==8.0.0; python_full_version >= "3.6.0"
azure-mgmt-imagebuilder==0.4.0; python_full_version >= "3.6.0"
azure-mgmt-iotcentral==9.0.0; python_full_version >= "3.6.0"
azure-mgmt-iothub==2.1.0; python_full_version >= "3.6.0"
azure-mgmt-iothubprovisioningservices==0.3.0; python_full_version >= "3.6.0"
azure-mgmt-keyvault==9.3.0; python_full_version >= "3.6.0"
azure-mgmt-keyvault==9.1.0; python_full_version >= "3.6.0"
azure-mgmt-kusto==0.3.0; python_full_version >= "3.6.0"
azure-mgmt-loganalytics==11.0.0; python_full_version >= "3.6.0"
azure-mgmt-managedservices==1.0.0; python_full_version >= "3.6.0"
Expand All @@ -64,64 +65,62 @@ azure-mgmt-marketplaceordering==1.1.0; python_full_version >= "3.6.0"
azure-mgmt-media==7.0.0; python_full_version >= "3.6.0"
azure-mgmt-monitor==2.0.0; python_full_version >= "3.6.0"
azure-mgmt-msi==0.2.0; python_full_version >= "3.6.0"
azure-mgmt-netapp==5.1.0; python_full_version >= "3.6.0"
azure-mgmt-network==19.3.0; python_full_version >= "3.6.0"
azure-mgmt-netapp==4.0.0; python_full_version >= "3.6.0"
azure-mgmt-network==19.0.0; python_full_version >= "3.6.0"
azure-mgmt-nspkg==3.0.2; python_full_version >= "3.6.0"
azure-mgmt-policyinsights==1.0.0; python_full_version >= "3.6.0"
azure-mgmt-privatedns==1.0.0; python_full_version >= "3.6.0"
azure-mgmt-rdbms==10.0.0; python_full_version >= "3.6.0"
azure-mgmt-rdbms==9.1.0; python_full_version >= "3.6.0"
azure-mgmt-recoveryservices==2.0.0; python_full_version >= "3.6.0"
azure-mgmt-recoveryservicesbackup==3.0.0; python_full_version >= "3.6.0"
azure-mgmt-recoveryservicesbackup==0.15.0; python_full_version >= "3.6.0"
azure-mgmt-redhatopenshift==1.0.0; python_full_version >= "3.6.0"
azure-mgmt-redis==13.0.0; python_full_version >= "3.6.0"
azure-mgmt-relay==0.1.0; python_full_version >= "3.6.0"
azure-mgmt-reservations==0.6.0; python_full_version >= "3.6.0"
azure-mgmt-resource==20.0.0; python_full_version >= "3.6.0"
azure-mgmt-resource==19.0.0; python_full_version >= "3.6.0"
azure-mgmt-search==8.0.0; python_full_version >= "3.6.0"
azure-mgmt-security==2.0.0b1; python_full_version >= "3.6.0"
azure-mgmt-servicebus==6.0.0; python_full_version >= "3.6.0"
azure-mgmt-servicefabric==1.0.0; python_full_version >= "3.6.0"
azure-mgmt-servicefabricmanagedclusters==1.0.0; python_full_version >= "3.6.0"
azure-mgmt-servicelinker==1.0.0b1; python_full_version >= "3.6.0"
azure-mgmt-signalr==1.0.0; python_full_version >= "3.6.0"
azure-mgmt-sql==3.0.1; python_full_version >= "3.6.0"
azure-mgmt-sqlvirtualmachine==1.0.0b1; python_full_version >= "3.6.0"
azure-mgmt-storage==19.0.0; python_full_version >= "3.6.0"
azure-mgmt-synapse==2.1.0b3; python_full_version >= "3.6.0"
azure-mgmt-synapse==2.0.0; python_full_version >= "3.6.0"
azure-mgmt-trafficmanager==0.51.0; python_full_version >= "3.6.0"
azure-mgmt-web==4.0.0; python_full_version >= "3.6.0"
azure-multiapi-storage==0.7.0; python_full_version >= "3.6.0"
azure-multiapi-storage==0.6.2; python_full_version >= "3.6.0"
azure-nspkg==3.0.2; python_full_version >= "3.6.0"
azure-storage-common==1.4.2; python_full_version >= "3.6.0"
azure-synapse-accesscontrol==0.5.0; python_full_version >= "3.6.0"
azure-synapse-artifacts==0.9.0; python_full_version >= "3.6.0"
azure-synapse-artifacts==0.8.0; python_full_version >= "3.6.0"
azure-synapse-managedprivateendpoints==0.3.0; python_full_version >= "3.6.0"
azure-synapse-spark==0.2.0; python_full_version >= "3.6.0"
bcrypt==3.2.0; python_version >= "3.6" and python_full_version >= "3.6.0"
boto3==1.20.11; python_version >= "3.6"
botocore==1.23.11; python_version >= "3.6"
certifi==2021.10.8; python_full_version >= "3.6.0" and python_version < "4" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version < "4" and python_version >= "3.6") and python_version >= "3.6"
cffi==1.15.0; python_version >= "3.6" and python_full_version >= "3.6.0" and python_version < "4" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version < "4" and python_version >= "3.6")
chardet==3.0.4; python_full_version >= "3.6.0"
charset-normalizer==2.0.9; python_version >= "3.6" and python_full_version >= "3.6.0"
certifi==2021.10.8; python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.6"
cffi==1.15.0; python_version >= "3.6" and python_full_version >= "3.6.0" and python_version < "4"
chardet==3.0.4; python_version >= "3.6" and python_full_version >= "3.6.0"
colorama==0.4.4; python_full_version >= "3.6.0"
cryptography==3.3.2
deprecated==1.2.13; python_version >= "3.6" and python_full_version >= "3.6.0"
distro==1.6.0; python_full_version >= "3.6.0"
fabric==2.6.0; python_full_version >= "3.6.0"
humanfriendly==10.0; python_full_version >= "3.6.0"
idna==3.3; python_full_version >= "3.6.0" and python_version < "4" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version < "4" and python_version >= "3.6") and python_version >= "3.6"
humanfriendly==9.2; python_full_version >= "3.6.0"
idna==2.10; python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.6"
importlib-metadata==4.8.2; python_version == "3.7" and python_full_version >= "3.6.0"
importlib-resources==5.4.0; python_version < "3.9" and python_version >= "3.7"
invoke==1.6.0; python_full_version >= "3.6.0"
isodate==0.6.0; python_full_version >= "3.6.0"
javaproperties==0.5.2; python_full_version >= "3.6.0" and python_version < "4"
jinja2==3.0.3; python_version >= "3.6"
jmespath==0.10.0; python_full_version >= "3.6.0" and python_version >= "3.6"
jsondiff==1.3.0; python_full_version >= "3.6.0"
jsondiff==1.2.0; python_full_version >= "3.6.0"
jsonschema==4.2.1; python_version >= "3.7"
knack==0.9.0; python_full_version >= "3.6.0"
markupsafe==2.0.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
knack==0.8.2; python_full_version >= "3.6.0"
markupsafe==2.0.1; python_full_version >= "3.6.0" and python_version >= "3.6"
msal-extensions==0.3.0; python_full_version >= "3.6.0"
msal==1.16.0; python_full_version >= "3.6.0"
msrest==0.6.21; python_full_version >= "3.6.0"
Expand All @@ -133,34 +132,35 @@ pathlib2==2.3.6; python_full_version >= "3.6.0"
pkginfo==1.8.2; python_full_version >= "3.6.0"
portalocker==1.7.1
psutil==5.8.0; python_full_version >= "3.6.0"
pycparser==2.21; python_version >= "3.6" and python_full_version >= "3.6.0" and python_version < "4" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version < "4" and python_version >= "3.6")
pycparser==2.21; python_version >= "3.6" and python_full_version >= "3.6.0" and python_version < "4"
pygithub==1.55; python_version >= "3.6" and python_full_version >= "3.6.0"
pygments==2.10.0; python_version >= "3.5" and python_full_version >= "3.6.0"
pyjwt==2.3.0; python_version >= "3.6" and python_full_version >= "3.6.0"
pynacl==1.4.0; python_version >= "3.6" and python_full_version >= "3.6.0"
pyopenssl==21.0.0; python_full_version >= "3.6.0" and python_version < "4" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version < "4" and python_version >= "3.6")
pyopenssl==21.0.0; python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.6"
pyparsing==3.0.6; python_version >= "3.6" and python_full_version >= "3.6.0"
pyreadline3==3.3; sys_platform == "win32" and python_version >= "3.8" and python_full_version >= "3.6.0"
pyreadline==2.1; sys_platform == "win32" and python_version < "3.8" and python_full_version >= "3.6.0"
pyreadline==2.1; sys_platform == "win32" and python_full_version >= "3.6.0"
pyrsistent==0.18.0; python_version >= "3.7"
pysocks==1.7.1; python_full_version >= "3.6.0" and python_version >= "3.6"
python-dateutil==2.8.2; python_full_version >= "3.6.0" and python_version >= "3.6"
python-json-logger==2.0.2; python_version >= "3.5"
pytz==2019.1; python_full_version >= "3.6.0"
pywin32==302; platform_system == "Windows" and python_full_version >= "3.6.0"
pyyaml==6.0; python_version >= "3.6"
requests-oauthlib==1.3.0; python_full_version >= "3.6.0"
requests==2.26.0; python_version >= "3.6" and python_full_version >= "3.6.0"
requests==2.25.1; python_version >= "3.6" and python_full_version >= "3.6.0"
ruamel.yaml.clib==0.2.6; platform_python_implementation == "CPython" and python_version < "3.10" and python_version >= "3.5"
ruamel.yaml==0.17.17; python_version >= "3"
s3transfer==0.5.0; python_version >= "3.6"
scp==0.13.6; python_full_version >= "3.6.0"
semver==2.13.0; python_full_version >= "3.6.0"
six==1.16.0; python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version < "4" and python_version >= "3.6")
six==1.16.0; python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.6"
sshtunnel==0.1.5; python_full_version >= "3.6.0"
tabulate==0.8.9; python_full_version >= "3.6.0"
terraform-bin==1.0.1
typing-extensions==4.0.0; python_version < "3.8" and python_version >= "3.7"
urllib3==1.26.7; python_full_version >= "3.6.0" and python_version < "4" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version < "4" and python_version >= "3.6") and python_version >= "3.6"
urllib3==1.26.7; python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.6"
vsts==0.1.25; python_full_version >= "3.6.0"
websocket-client==0.56.0; python_full_version >= "3.6.0"
wrapt==1.13.3; python_version >= "3.6" and python_full_version >= "3.6.0"
xmltodict==0.12.0; python_full_version >= "3.6.0"
Expand Down
2 changes: 1 addition & 1 deletion ansible/playbooks/kafka.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

- hosts: all
gather_facts: yes
tasks: [ ]
tasks: [ ]

- hosts: kafka
become: true
Expand Down
4 changes: 4 additions & 0 deletions ansible/playbooks/roles/jmx_exporter/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
jmx_exporter_bin_filename: "jmx_prometheus_javaagent-0.16.1.jar"
jmx_exporter_version: 0.16.1
jmx_exporter_directory: /opt/jmx-exporter
prometheus_jmx_exporter_path: /opt/jmx-exporter/jmx_prometheus_javaagent.jar
8 changes: 4 additions & 4 deletions ansible/playbooks/roles/jmx_exporter/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

- name: Set JMX Exporter file name to install
set_fact:
exporter_file_name: "{{ specification.file_name }}"
exporter_file_name: "{{ jmx_exporter_bin_filename }}"

- name: Download JMX Exporter binaries
include_role:
Expand All @@ -39,15 +39,15 @@
- name: Copy JMX Exporter binaries
copy:
src: "{{ download_directory }}/{{ exporter_file_name }}"
dest: "/opt/jmx-exporter/{{ exporter_file_name }}"
dest: "{{ jmx_exporter_directory }}/{{ exporter_file_name }}"
owner: "{{ specification.jmx_exporter_user }}"
group: "{{ specification.jmx_exporter_group }}"
remote_src: yes

- name: Prometheus jmx | symlink jar
become: yes
file:
src: "/opt/jmx-exporter/{{ exporter_file_name }}"
path: "{{ specification.jmx_path }}"
src: "{{ jmx_exporter_directory }}/{{ exporter_file_name }}"
path: "{{ prometheus_jmx_exporter_path }}"
force: yes
state: link
101 changes: 101 additions & 0 deletions ansible/playbooks/roles/jmx_exporter/tasks/upgrade/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---

- name: Check for upgrade flag file
stat:
path: "{{ lock_file }}"
register: lock_file_status

- name: Preflight check
when: not lock_file_status.stat.exists
block:
- name: Check for binary
stat:
path: "{{ prometheus_jmx_exporter_path }}"
register: jmx_exporter_binary

- name: Inform and fail if JMX exporter binary is missing
when: not jmx_exporter_binary.stat.exists
fail:
msg: >
There is no JMX exporter binary at all,
re-apply your configuration or remove jmx_exporter role from inventory
- name: Verify installed version
when: jmx_exporter_binary.stat.exists
block:
- name: Get installed jmx-exporter version
shell: >-
unzip -p /opt/jmx-exporter/jmx_prometheus_javaagent.jar META-INF/MANIFEST.MF \
| awk '$1 == "Implementation-Version:" {print $2}'
register: installed_jmx_exporter_version

- name: Set version facts
set_fact:
jmx_exporter_version:
old: "{{ installed_jmx_exporter_version.stdout }}"
new: "{{ jmx_exporter_version }}"

- name: Avoiding risk of downgrade
when: jmx_exporter_version.old is not version( jmx_exporter_version.new, '<' )
debug:
msg: "Skipping upgrade: JMX Exporter in newer version already installed!"

- name: Upgrade | jmx-exporter
when: >
jmx_exporter_version.old is version( jmx_exporter_version.new, '<' ) or
lock_file_status.stat.exists
block:
- name: Create upgrade flag file
file:
path: "{{ lock_file }}"
state: touch

- name: Download jmx-exporter binaries
include_role:
name: download
tasks_from: download_file
vars:
file_name: "{{ jmx_exporter_bin_filename }}"

- name: Copy jmx-exporter binaries to jmx-exporter directory
copy:
src: "{{ download_directory }}/{{ jmx_exporter_bin_filename }}"
dest: "{{ jmx_exporter_directory }}/{{ jmx_exporter_bin_filename }}"
owner: "{{ specification.jmx_exporter_user }}"
group: "{{ specification.jmx_exporter_group }}"
remote_src: yes

- name: Get installed jmx-exporter binary path
stat:
path: "{{ prometheus_jmx_exporter_path }}"
get_attributes: false
get_checksum: false
get_mime: false
register: linked_jmx

- name: Reconfigure {{ prometheus_jmx_exporter_path }} symlink to point to the new version
file:
dest: "{{ prometheus_jmx_exporter_path }}"
state: link
src: "{{ jmx_exporter_directory }}/{{ jmx_exporter_bin_filename }}"
force: yes

- name: Run systemctl daemon-reload # zookeeper and kafka configure jmx-exporter via systemd units
systemd:
state: restarted
daemon_reload: true
name: "{{ item }}"
with_items:
- zookeeper
- kafka

- name: Remove previous binary version
file:
path: "{{ linked_jmx.stat.lnk_target }}"
state: absent

- name: Remove upgrade flag file
file:
path: "{{ lock_file }}"
state: absent
...
1 change: 1 addition & 0 deletions ansible/playbooks/roles/kafka/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
kafka_version: 2.6.0
scala_version: 2.12
kafka_bin_filename: "kafka_2.12-2.6.0.tgz"
prometheus_jmx_exporter_path: /opt/jmx-exporter/jmx_prometheus_javaagent.jar
2 changes: 1 addition & 1 deletion ansible/playbooks/roles/kafka/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

- name: Check if jmx exporter is available
stat:
path: "{{ specification.prometheus_jmx_path }}"
path: "{{ prometheus_jmx_exporter_path }}"
register: exporter

- include_tasks: setup-kafka.yml
Expand Down
2 changes: 1 addition & 1 deletion ansible/playbooks/roles/kafka/templates/kafka.service.j2
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Restart=on-failure
Environment="KAFKA_HEAP_OPTS={{ specification.kafka_var.heap_opts }}"
Environment="LOG_DIR={{ specification.kafka_var.log_dir }}"
{% if exporter.stat.exists %}
Environment="KAFKA_OPTS={{ javax_debug }} -javaagent:{{ specification.prometheus_jmx_path }}={{ specification.prometheus_jmx_exporter_web_listen_port }}:{{ specification.prometheus_jmx_config }}"
Environment="KAFKA_OPTS={{ javax_debug }} -javaagent:{{ prometheus_jmx_exporter_path }}={{ specification.prometheus_jmx_exporter_web_listen_port }}:{{ specification.prometheus_jmx_config }}"
{% else %}
Environment="KAFKA_OPTS={{ javax_debug }}"
{% endif %}
Expand Down
14 changes: 14 additions & 0 deletions ansible/playbooks/roles/preflight/tasks/upgrade.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,20 @@
is not supported by this version of Epiphany which requires at least version 1.18.6.
For more information, refer to the documentation.
quiet: true

- name: Check number of unmanaged pods
become: true
command: kubectl get pods --all-namespaces -o custom-columns=CONTROLLER:.metadata.ownerReferences[].kind
register: no_unmanaged_pods
changed_when: false

- name: Check if cluster has any unmanaged pods
assert:
that: "{{ no_unmanaged_pods.stdout_lines | regex_findall('<none>') | length }} == 0"
fail_msg: >-
You have some pods that are not created by controller. Please remove them and then start upgrade once again.
quiet: true

run_once: true
delegate_to: "{{ groups.kubernetes_master[0] }}"
when:
Expand Down
Loading

0 comments on commit 940e284

Please sign in to comment.