diff --git a/ansible/group_vars/all/oas.yml b/ansible/group_vars/all/oas.yml index aa5423469c5510f3ddc06801af17e01b4566a54e..ce3978d88e120a37d421a1045e1f0365b9997bc0 100644 --- a/ansible/group_vars/all/oas.yml +++ b/ansible/group_vars/all/oas.yml @@ -2,8 +2,6 @@ configuration_directory: "/etc/OpenAppStack" # Directory to store generated configuration and cluster state. data_directory: "/var/lib/OpenAppStack" -# Directory to store logs. -log_directory: "/var/log/OpenAppStack" # Use python3 on cluster nodes for ansible ansible_python_interpreter: "/usr/bin/env python3" @@ -63,10 +61,10 @@ rke: # `ansible/group_vars/all/settings.yml.example` # # https://github.com/rancher/rke/releases - version: '0.3.2' + version: '1.1.1' # Also possible: - # checksum: 'sha256:https://github.com/rancher/rke/releases/download/v0.2.4/sha256sum.txt' - checksum: 'sha256:96b366fe1faaa668b3e47f5b6d4bfd6334224e33c21e55dc79ec96f85e0e48e8' + # checksum: 'sha256:https://github.com/rancher/rke/releases/download/v1.1.1/sha256sum.txt' + checksum: 'sha256:8b28540ddd58b9c2eebfbf0c59a512205bf96ef7368853504e8cf76e524e7197' cert_manager: # cert-manager requires custom resource definitions applied before installing diff --git a/ansible/roles/additional_config/files/etc/logrotate.d/OpenAppStack b/ansible/roles/additional_config/files/etc/logrotate.d/OpenAppStack deleted file mode 100644 index 37e4835f310a50b7a97a9ed1d88e853020782931..0000000000000000000000000000000000000000 --- a/ansible/roles/additional_config/files/etc/logrotate.d/OpenAppStack +++ /dev/null @@ -1,5 +0,0 @@ -/var/log/OpenAppStack/ { - weekly - rotate 4 - create -} diff --git a/ansible/roles/additional_config/tasks/logging.yml b/ansible/roles/additional_config/tasks/logging.yml deleted file mode 100644 index 1be970769b00d9c938b1927be0b78e100f45c2f6..0000000000000000000000000000000000000000 --- a/ansible/roles/additional_config/tasks/logging.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- name: Logrotate config for OAS logs - copy: - src: etc/logrotate.d/OpenAppStack - dest: /etc/logrotate.d/ - mode: '0644' diff --git a/ansible/roles/additional_config/tasks/main.yml b/ansible/roles/additional_config/tasks/main.yml index cac2f29afff1681416bb519b763d5b35d0da6521..c1ba30e5f842c4b78019646d597f21872fefe399 100644 --- a/ansible/roles/additional_config/tasks/main.yml +++ b/ansible/roles/additional_config/tasks/main.yml @@ -1,3 +1,2 @@ --- -- import_tasks: logging.yml - import_tasks: dns.yml diff --git a/ansible/roles/configure/handlers/main.yml b/ansible/roles/configure/handlers/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..55ed86310974c7ed473e9470ef1c51ff3aac78e4 --- /dev/null +++ b/ansible/roles/configure/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: restart-journald + service: + name: systemd-journald + state: restarted diff --git a/ansible/roles/configure/tasks/journald.yml b/ansible/roles/configure/tasks/journald.yml new file mode 100644 index 0000000000000000000000000000000000000000..f7164bd8b8b9087a0ee74f0f5deb3d88d4c94bc7 --- /dev/null +++ b/ansible/roles/configure/tasks/journald.yml @@ -0,0 +1,15 @@ +--- + +- name: Ensure journald directories + file: + path: '{{ item }}' + state: directory + with_items: + - /var/log/journal + - /etc/systemd/journald.conf.d + +- name: Configure journald size limits + template: + dest: /etc/systemd/journald.conf.d/size-limits.conf + src: journald.conf + notify: restart-journald diff --git a/ansible/roles/configure/tasks/main.yml b/ansible/roles/configure/tasks/main.yml index 71d9a5e49c957adc463c4805c3700180a5b92489..3815107ec6c43f4bb01cd63a5f4e2d0aff8b1cc6 100644 --- a/ansible/roles/configure/tasks/main.yml +++ b/ansible/roles/configure/tasks/main.yml @@ -1,5 +1,8 @@ --- +- name: Configure journald + import_tasks: journald.yml + - name: Update apt packages cache and install needed packages # apt-transport-https is needed for docker apt repo # curl and git is needed for helm plugin install @@ -20,6 +23,19 @@ cache_valid_time: 86400 update_cache: yes +- name: Remove unwanted packages + tags: + - package + package: + state: absent + name: "{{ item }}" + with_items: + # In order to save disk space we remove traditional syslog packages + # and only rely on systemd journald + # see https://open.greenhost.net/openappstack/openappstack/-/issues/575 + - rsyslog + - syslog-ng + - name: Install python deps tags: - package @@ -57,13 +73,6 @@ src: /snap/bin/kubectl dest: /usr/local/bin/kubectl -- name: Remove old helm snap installation - tags: - - helm - command: snap remove helm - args: - removes: /snap/bin/helm - - name: Get current helm version tags: - helm diff --git a/ansible/roles/configure/templates/journald.conf b/ansible/roles/configure/templates/journald.conf new file mode 100644 index 0000000000000000000000000000000000000000..2558b5addaf7f1506ce8ffa168989bd9521a4d24 --- /dev/null +++ b/ansible/roles/configure/templates/journald.conf @@ -0,0 +1,7 @@ +# https://www.freedesktop.org/software/systemd/man/journald.conf.html +[Journal] +Storage=persistent +SystemMaxUse=400M +SystemMaxFileSize=30M +RuntimeMaxUse=250M +RuntimeMaxFileSize=30M diff --git a/ansible/roles/finalize/tasks/sync_cluster_data.yml b/ansible/roles/finalize/tasks/sync_cluster_data.yml index 2e476c159f6710770486c9069066b0e4203a7cdf..65a135a32644274e307782f531f0ed08f294afd2 100644 --- a/ansible/roles/finalize/tasks/sync_cluster_data.yml +++ b/ansible/roles/finalize/tasks/sync_cluster_data.yml @@ -11,7 +11,5 @@ loop: - src: "{{ data_directory }}/rke/kube_config_cluster.yml" dest: "{{ cluster_dir }}/secrets/kube_config_cluster.yml" - - src: "{{ log_directory }}/rke.log" - dest: "{{ cluster_dir }}/cluster_data/rke.log" - src: "{{ data_directory }}/rke/cluster.yml" dest: "{{ cluster_dir }}/cluster_data/rke_cluster.yml" diff --git a/ansible/roles/get_control/tasks/main.yml b/ansible/roles/get_control/tasks/main.yml index 61adc2e3527efe97a071b0b83714ea3f5ee68fda..92dae4fd2a2b96be6027ebbe2bcf5e867e9cf53e 100644 --- a/ansible/roles/get_control/tasks/main.yml +++ b/ansible/roles/get_control/tasks/main.yml @@ -10,7 +10,6 @@ - "{{ data_directory }}" - "{{ data_directory }}/ssh" - "{{ data_directory }}/rke" - - "{{ log_directory }}" - "/usr/local/share/bash-completion/completions" - name: Create directory for values diff --git a/ansible/roles/rke_configuration/files/cluster-defaults.yml b/ansible/roles/rke_configuration/files/cluster-defaults.yml index 8a0b60df7691ea85495f10503fb6b68633273221..b80dfef9627016c0285beda2fccd15f034ea370d 100644 --- a/ansible/roles/rke_configuration/files/cluster-defaults.yml +++ b/ansible/roles/rke_configuration/files/cluster-defaults.yml @@ -26,7 +26,9 @@ ingress: provider: none # If `kubernetes_version` is not set, the default kubernetes version for the # specified rke version in `ansible/group_vars/all/oas.yml` is used. -# kubernetes_version: '' +# Currently pinned to newest 1.15 because of the problem described in this +# comment: https://github.com/rancher/rancher/issues/14836#issuecomment-612590209 +kubernetes_version: 'v1.15.11-rancher1-3' monitoring: options: {} provider: '' diff --git a/ansible/roles/setup/tasks/rke.yml b/ansible/roles/setup/tasks/rke.yml index 8ea84379465b7c5f6d5518332d3df94933d21613..447c94ee25a83d09d5a746efb4c38544fd2ae092 100644 --- a/ansible/roles/setup/tasks/rke.yml +++ b/ansible/roles/setup/tasks/rke.yml @@ -11,7 +11,7 @@ - name: Build Cluster tags: - rke - shell: /usr/local/bin/rke up --config={{ data_directory }}/rke/cluster.yml >> {{ log_directory }}/rke.log + shell: /usr/local/bin/rke up --config={{ data_directory }}/rke/cluster.yml | systemd-cat -t rke - name: Ensure /root/.kube directory tags: