From bc5428b21dda44ec9cb27528eeebaa4cd9cf895b Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Wed, 19 Oct 2022 15:10:53 +0200 Subject: [PATCH] Remove usage of rsyslog roles We've switched all services to store logs to journald by default and rsyslog roles are not used except really small amount of usecases that also hardly valid as of today. With that we deprecate repos and remove their usega to reduce maintenance load. Change-Id: Iefd4143f83f4df44b917180000a1aa57161b2811 --- ansible-role-requirements.yml | 12 ----- deploy-guide/source/configure.rst | 3 -- deploy-guide/source/run-playbooks.rst | 4 +- .../contributor/role-maturity-matrix.html | 27 ++++------ .../reference/architecture/service-arch.rst | 6 --- .../env.d/aio_metal.yml.example | 3 -- ...penstack_user_config.yml.multibond.example | 5 -- .../openstack_user_config.yml.pod.example | 5 -- ...penstack_user_config.yml.prod-ceph.example | 5 -- .../openstack_user_config.yml.prod.example | 5 -- ...tack_user_config.yml.provnet-group.example | 5 -- ...enstack_user_config.yml.singlebond.example | 5 -- inventory/env.d/rsyslog.yml | 36 ------------- inventory/group_vars/all/all.yml | 5 -- inventory/group_vars/rsyslog.yml | 19 ------- inventory/inventory.ini | 4 -- playbooks/ceph-install.yml | 14 ----- playbooks/ceph-rgw-install.yml | 7 --- playbooks/common-tasks/rsyslog-client.yml | 22 -------- playbooks/containers-lxc-host.yml | 7 --- playbooks/healthcheck-infrastructure.yml | 2 +- playbooks/os-tempest-install.yml | 7 --- playbooks/qdrouterd-install.yml | 7 --- playbooks/repo-install.yml | 14 ----- playbooks/rsyslog-install.yml | 54 ------------------- playbooks/setup-infrastructure.yml | 1 - ...remove_rsyslog_roles-05893ed9f8534a39.yaml | 13 +++++ scripts/log-collect.sh | 1 - tests/test_inventory.py | 3 -- zuul.d/jobs.yaml | 4 -- 30 files changed, 27 insertions(+), 278 deletions(-) delete mode 100644 inventory/env.d/rsyslog.yml delete mode 100644 inventory/group_vars/rsyslog.yml delete mode 100644 playbooks/common-tasks/rsyslog-client.yml delete mode 100644 playbooks/rsyslog-install.yml create mode 100644 releasenotes/notes/remove_rsyslog_roles-05893ed9f8534a39.yaml diff --git a/ansible-role-requirements.yml b/ansible-role-requirements.yml index 15b34f296e..03009eee6c 100644 --- a/ansible-role-requirements.yml +++ b/ansible-role-requirements.yml @@ -269,18 +269,6 @@ version: master trackbranch: master shallow_since: '2022-06-19' -- name: rsyslog_client - scm: git - src: https://opendev.org/openstack/openstack-ansible-rsyslog_client - version: master - trackbranch: master - shallow_since: '2022-06-19' -- name: rsyslog_server - scm: git - src: https://opendev.org/openstack/openstack-ansible-rsyslog_server - version: master - trackbranch: master - shallow_since: '2022-06-19' - name: bird scm: git src: https://github.com/logan2211/ansible-bird diff --git a/deploy-guide/source/configure.rst b/deploy-guide/source/configure.rst index fbdefb86d7..593e1c2f6d 100644 --- a/deploy-guide/source/configure.rst +++ b/deploy-guide/source/configure.rst @@ -120,8 +120,6 @@ Infrastructure service roles - :role_docs:`repo_server` -- :role_docs:`rsyslog_server` - OpenStack service roles ----------------------- @@ -194,7 +192,6 @@ Other roles - :role_docs:`openstack_openrc` -- :role_docs:`rsyslog_client` Configuring service credentials ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/deploy-guide/source/run-playbooks.rst b/deploy-guide/source/run-playbooks.rst index ad1d376756..71361cf398 100644 --- a/deploy-guide/source/run-playbooks.rst +++ b/deploy-guide/source/run-playbooks.rst @@ -15,8 +15,8 @@ The installation process requires running three main playbooks: on target hosts. - The ``setup-infrastructure.yml`` Ansible infrastructure playbook installs - infrastructure services: Memcached, the repository server, Galera, RabbitMQ, - and rsyslog. + infrastructure services: Memcached, the repository server, Galera and + RabbitMQ. - The ``setup-openstack.yml`` OpenStack playbook installs OpenStack services, including Identity (keystone), Image (glance), Block Storage (cinder), diff --git a/doc/source/contributor/role-maturity-matrix.html b/doc/source/contributor/role-maturity-matrix.html index ab8b7b68e3..9f8d279f69 100644 --- a/doc/source/contributor/role-maturity-matrix.html +++ b/doc/source/contributor/role-maturity-matrix.html @@ -352,22 +352,7 @@ ✔ ✔ - - rsyslog_client - Mitaka - Complete - ✔ - ✔ - ✔ - - - rsyslog_server - Mitaka - Complete - ✔ - ✔ - ✔ - +

Retired roles

@@ -390,6 +375,16 @@ + + + + + + + + + + diff --git a/doc/source/reference/architecture/service-arch.rst b/doc/source/reference/architecture/service-arch.rst index 8d21ef5382..7c5ea2c5a6 100644 --- a/doc/source/reference/architecture/service-arch.rst +++ b/doc/source/reference/architecture/service-arch.rst @@ -68,12 +68,6 @@ OpenStack-Ansible deploys the following infrastructure components: OpenStack environment. It is set to automatically use the internal service endpoints. -* Log aggregation host - - A rsyslog service is optionally set up to receive rsyslog traffic from all - hosts and containers. You can replace rsyslog with any alternative log - receiver. - * Unbound DNS container Containers running an `Unbound DNS`_ caching service can optionally be diff --git a/etc/openstack_deploy/env.d/aio_metal.yml.example b/etc/openstack_deploy/env.d/aio_metal.yml.example index 2e1a0a21a3..aff121d6c1 100644 --- a/etc/openstack_deploy/env.d/aio_metal.yml.example +++ b/etc/openstack_deploy/env.d/aio_metal.yml.example @@ -111,9 +111,6 @@ container_skel: rabbit_mq_container: properties: is_metal: true - rsyslog_container: - properties: - is_metal: true sahara_container: properties: is_metal: true diff --git a/etc/openstack_deploy/openstack_user_config.yml.multibond.example b/etc/openstack_deploy/openstack_user_config.yml.multibond.example index 097892d58b..ba9ebae476 100644 --- a/etc/openstack_deploy/openstack_user_config.yml.multibond.example +++ b/etc/openstack_deploy/openstack_user_config.yml.multibond.example @@ -119,11 +119,6 @@ haproxy_hosts: infra3: ip: 172.29.236.13 -# rsyslog server -log_hosts: - log1: - ip: 172.29.236.14 - ### ### OpenStack ### diff --git a/etc/openstack_deploy/openstack_user_config.yml.pod.example b/etc/openstack_deploy/openstack_user_config.yml.pod.example index 321a6d9767..85106012c9 100644 --- a/etc/openstack_deploy/openstack_user_config.yml.pod.example +++ b/etc/openstack_deploy/openstack_user_config.yml.pod.example @@ -318,11 +318,6 @@ haproxy_hosts: infra3: ip: 172.29.242.10 -# rsyslog server -log_hosts: - log1: - ip: 172.29.236.11 - ### ### OpenStack ### diff --git a/etc/openstack_deploy/openstack_user_config.yml.prod-ceph.example b/etc/openstack_deploy/openstack_user_config.yml.prod-ceph.example index d17f79c4b9..7100e1b5d8 100644 --- a/etc/openstack_deploy/openstack_user_config.yml.prod-ceph.example +++ b/etc/openstack_deploy/openstack_user_config.yml.prod-ceph.example @@ -121,11 +121,6 @@ repo-infra_hosts: *infrastructure_hosts # Dedicated hardware is best for improved performance and security. haproxy_hosts: *infrastructure_hosts -# rsyslog server -log_hosts: - log1: - ip: 172.29.236.14 - ### ### OpenStack ### diff --git a/etc/openstack_deploy/openstack_user_config.yml.prod.example b/etc/openstack_deploy/openstack_user_config.yml.prod.example index ee1aa5cb83..2154a1417e 100644 --- a/etc/openstack_deploy/openstack_user_config.yml.prod.example +++ b/etc/openstack_deploy/openstack_user_config.yml.prod.example @@ -104,11 +104,6 @@ haproxy_hosts: infra3: ip: 172.29.236.13 -# rsyslog server -log_hosts: - log1: - ip: 172.29.236.14 - ### ### OpenStack ### diff --git a/etc/openstack_deploy/openstack_user_config.yml.provnet-group.example b/etc/openstack_deploy/openstack_user_config.yml.provnet-group.example index ed9e82d991..b258f8f070 100644 --- a/etc/openstack_deploy/openstack_user_config.yml.provnet-group.example +++ b/etc/openstack_deploy/openstack_user_config.yml.provnet-group.example @@ -157,11 +157,6 @@ haproxy_hosts: infra3: ip: 172.29.236.13 -# rsyslog server -log_hosts: - log1: - ip: 172.29.236.14 - ### ### OpenStack ### diff --git a/etc/openstack_deploy/openstack_user_config.yml.singlebond.example b/etc/openstack_deploy/openstack_user_config.yml.singlebond.example index b8be2d4d0d..e275ff66b7 100644 --- a/etc/openstack_deploy/openstack_user_config.yml.singlebond.example +++ b/etc/openstack_deploy/openstack_user_config.yml.singlebond.example @@ -119,11 +119,6 @@ haproxy_hosts: infra3: ip: 172.29.236.13 -# rsyslog server -log_hosts: - log1: - ip: 172.29.236.14 - ### ### OpenStack ### diff --git a/inventory/env.d/rsyslog.yml b/inventory/env.d/rsyslog.yml deleted file mode 100644 index 67f95f4150..0000000000 --- a/inventory/env.d/rsyslog.yml +++ /dev/null @@ -1,36 +0,0 @@ ---- -# Copyright 2014, Rackspace US, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -component_skel: - rsyslog: - belongs_to: - - rsyslog_all - - -container_skel: - rsyslog_container: - belongs_to: - - log_containers - contains: - - rsyslog - - -physical_skel: - log_containers: - belongs_to: - - all_containers - log_hosts: - belongs_to: - - hosts diff --git a/inventory/group_vars/all/all.yml b/inventory/group_vars/all/all.yml index 144d562e91..786ce8f02e 100644 --- a/inventory/group_vars/all/all.yml +++ b/inventory/group_vars/all/all.yml @@ -47,11 +47,6 @@ os_distro_version: "{{ (ansible_facts['distribution'] | lower) | replace(' ', '_ openstack_lock_dir: "/run/lock" -# Ensure that the package state matches the global setting -rsyslog_client_package_state: "{{ package_state }}" -rsyslog_client_enabled: False -rsyslog_server_enabled: False - # URL for the frozen internal openstack repo. repo_server_port: 8181 diff --git a/inventory/group_vars/rsyslog.yml b/inventory/group_vars/rsyslog.yml deleted file mode 100644 index c85f7fa484..0000000000 --- a/inventory/group_vars/rsyslog.yml +++ /dev/null @@ -1,19 +0,0 @@ ---- -# Copyright 2016, Rackspace US, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -rsyslog_server_storage_directory: /var/log/log-storage - -# Ensure that the package state matches the global setting -rsyslog_package_state: "{{ package_state }}" diff --git a/inventory/inventory.ini b/inventory/inventory.ini index e6c15dcce9..5724c8e984 100644 --- a/inventory/inventory.ini +++ b/inventory/inventory.ini @@ -24,8 +24,6 @@ hosts [repo_all] -[rsyslog] - [unbound] [utility_all] @@ -225,8 +223,6 @@ nova_scheduler placement_api [placement_api] -[rsyslog_all] - [sahara_all:children] sahara_api sahara_engine diff --git a/playbooks/ceph-install.yml b/playbooks/ceph-install.yml index cb4e683ffc..0b3c8ffc7a 100644 --- a/playbooks/ceph-install.yml +++ b/playbooks/ceph-install.yml @@ -114,13 +114,6 @@ tags: - crontab - post_tasks: - - include_tasks: "common-tasks/rsyslog-client.yml" - vars: - rsyslog_client_log_rotate_file: ceph_log_rotate - rsyslog_client_log_dir: "/var/log/ceph" - rsyslog_client_config_name: "99-ceph-rsyslog-client.conf" - environment: "{{ deployment_environment_variables | default({}) }}" tags: - ceph @@ -177,13 +170,6 @@ tags: - crontab - post_tasks: - - include_tasks: "common-tasks/rsyslog-client.yml" - vars: - rsyslog_client_log_rotate_file: ceph_log_rotate - rsyslog_client_log_dir: "/var/log/ceph" - rsyslog_client_config_name: "99-ceph-rsyslog-client.conf" - environment: "{{ deployment_environment_variables | default({}) }}" tags: - ceph diff --git a/playbooks/ceph-rgw-install.yml b/playbooks/ceph-rgw-install.yml index dc4a2c6584..4a768d9125 100644 --- a/playbooks/ceph-rgw-install.yml +++ b/playbooks/ceph-rgw-install.yml @@ -66,13 +66,6 @@ tags: - "system-crontab-coordination" - post_tasks: - - include_tasks: "common-tasks/rsyslog-client.yml" - vars: - rsyslog_client_log_rotate_file: ceph_log_rotate - rsyslog_client_log_dir: "/var/log/ceph" - rsyslog_client_config_name: "99-ceph-rsyslog-client.conf" - vars: is_metal: "{{ properties.is_metal|default(false) }}" radosgw_civetweb_port: "{{ radosgw_service_port }}" diff --git a/playbooks/common-tasks/rsyslog-client.yml b/playbooks/common-tasks/rsyslog-client.yml deleted file mode 100644 index b52e1f8ba2..0000000000 --- a/playbooks/common-tasks/rsyslog-client.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- -# Copyright 2018, Rackspace US, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -- name: Run the rsyslog client role - include_role: - name: rsyslog_client - when: - - rsyslog_client_enabled | bool - tags: - - rsyslog diff --git a/playbooks/containers-lxc-host.yml b/playbooks/containers-lxc-host.yml index 4016304f13..69ccd9c4e7 100644 --- a/playbooks/containers-lxc-host.yml +++ b/playbooks/containers-lxc-host.yml @@ -55,10 +55,3 @@ state: "link" roles: - role: "lxc_hosts" - - post_tasks: - - include_tasks: "common-tasks/rsyslog-client.yml" - vars: - rsyslog_client_log_rotate_file: lxc_log_rotate - rsyslog_client_log_dir: "/var/log/lxc" - rsyslog_client_config_name: "99-lxc-rsyslog-client.conf" diff --git a/playbooks/healthcheck-infrastructure.yml b/playbooks/healthcheck-infrastructure.yml index dcab7b3116..bafe6bdcc4 100644 --- a/playbooks/healthcheck-infrastructure.yml +++ b/playbooks/healthcheck-infrastructure.yml @@ -315,7 +315,7 @@ - healthcheck-rabbitmq-install - name: Ensure all the usual openstack containers can connect to rabbit - hosts: all_containers:!etcd_all:!galera_all:!memcached:!haproxy:!rabbitmq_all:!rsyslog:!unbound:!repo_all + hosts: all_containers:!etcd_all:!galera_all:!memcached:!haproxy:!rabbitmq_all:!unbound:!repo_all gather_facts: no vars: venv_path: /tmp/rabbitmqtest diff --git a/playbooks/os-tempest-install.yml b/playbooks/os-tempest-install.yml index 5b8d77cd49..3b5985c71b 100644 --- a/playbooks/os-tempest-install.yml +++ b/playbooks/os-tempest-install.yml @@ -43,13 +43,6 @@ tags: - crontab - post_tasks: - - include_tasks: "common-tasks/rsyslog-client.yml" - vars: - rsyslog_client_log_rotate_file: utility_log_rotate - rsyslog_client_log_dir: "{{ tempest_log_dir }}" - rsyslog_client_config_name: "99-tempest-rsyslog-client.conf" - environment: "{{ deployment_environment_variables | default({}) }}" tags: - tempest diff --git a/playbooks/qdrouterd-install.yml b/playbooks/qdrouterd-install.yml index 194dab8f74..b80a7b38db 100644 --- a/playbooks/qdrouterd-install.yml +++ b/playbooks/qdrouterd-install.yml @@ -51,10 +51,3 @@ - qdrouterd roles: - role: "qdrouterd" - - post_tasks: - - include_tasks: "common-tasks/rsyslog-client.yml" - vars: - rsyslog_client_log_rotate_file: qdrouterd_log_rotate - rsyslog_client_log_dir: "/var/log/qdrouterd" - rsyslog_client_config_name: "99-qdrouterd-rsyslog-client.conf" diff --git a/playbooks/repo-install.yml b/playbooks/repo-install.yml index a1b31d47a6..9389a5d94e 100644 --- a/playbooks/repo-install.yml +++ b/playbooks/repo-install.yml @@ -63,20 +63,6 @@ roles: - role: "repo_server" - post_tasks: - - include_tasks: "common-tasks/rsyslog-client.yml" - vars: - rsyslog_client_log_rotate_file: "{{ rsyslog_var.log_rotate_file }}" - rsyslog_client_log_dir: "{{ rsyslog_var.log_dir }}" - rsyslog_client_log_files: "{{ rsyslog_var.log_files | default([]) }}" - rsyslog_client_config_name: "{{ rsyslog_var.config_name }}" - with_items: - - log_rotate_file: repo_nginx_log_rotate - log_dir: "/var/log/nginx" - config_name: "99-repo-nginx-rsyslog-client.conf" - loop_control: - loop_var: rsyslog_var - vars_files: - defaults/repo_packages/openstack_services.yml - "defaults/{{ install_method }}_install.yml" diff --git a/playbooks/rsyslog-install.yml b/playbooks/rsyslog-install.yml deleted file mode 100644 index 1889eeb814..0000000000 --- a/playbooks/rsyslog-install.yml +++ /dev/null @@ -1,54 +0,0 @@ ---- -# Copyright 2014, Rackspace US, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -- name: Gather rsyslog facts - hosts: rsyslog - gather_facts: "{{ osa_gather_facts | default(True) }}" - tags: - - always - -- name: Install rsyslog - hosts: rsyslog - gather_facts: false - user: root - pre_tasks: - # The systemd-journal-remote capability has taken over this functionality. - - name: End playbook if disabled - meta: end_play - when: - - not rsyslog_server_enabled | bool - - - include_tasks: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml" - vars: - list_of_bind_mounts: - - bind_dir_path: "{{ rsyslog_server_storage_directory }}" - mount_path: "/openstack/{{ inventory_hostname }}/log-storage" - extra_container_config_no_restart: - - "lxc.start.order=19" - when: not is_metal - - - include_tasks: common-tasks/unbound-clients.yml - when: - - hostvars['localhost']['resolvconf_enabled'] | bool - roles: - - role: "rsyslog_server" - tags: - - rsyslog - - role: "openstack.osa.system_crontab_coordination" - tags: - - crontab - environment: "{{ deployment_environment_variables | default({}) }}" - tags: - - rsyslog diff --git a/playbooks/setup-infrastructure.yml b/playbooks/setup-infrastructure.yml index 899a765213..b8e1ae33ea 100644 --- a/playbooks/setup-infrastructure.yml +++ b/playbooks/setup-infrastructure.yml @@ -24,7 +24,6 @@ - import_playbook: etcd-install.yml - import_playbook: ceph-install.yml - import_playbook: ceph-nfs-install.yml -- import_playbook: rsyslog-install.yml # The journald-remote should be disabled by default until # https://github.com/systemd/systemd/issues/2376 has been diff --git a/releasenotes/notes/remove_rsyslog_roles-05893ed9f8534a39.yaml b/releasenotes/notes/remove_rsyslog_roles-05893ed9f8534a39.yaml new file mode 100644 index 0000000000..de8080c2d2 --- /dev/null +++ b/releasenotes/notes/remove_rsyslog_roles-05893ed9f8534a39.yaml @@ -0,0 +1,13 @@ +--- +deprecations: + - | + Roles ``rsyslog_client`` and ``rsyslog_server`` are deprecated and removed + from OpenStack-Ansible. Since Train service were configured to save logs + in journald instead of regular log files. Journald from containers passed + to hosts, so you can read and manipulate logs from metal hosts. Journald + can be transformed and collected by many tools, including rsyslog. + At the same time rsyslog is not ideal as it stores data in plain text, + which is hard to index and search later, while journald has is + structured so logs can be consumed way more efficiently with other tools. + You can also check out our ELK role from `OPS repository `_ + as alternative. diff --git a/scripts/log-collect.sh b/scripts/log-collect.sh index 15720aa1b0..3d1e7c513b 100755 --- a/scripts/log-collect.sh +++ b/scripts/log-collect.sh @@ -65,7 +65,6 @@ COMMON_ETC_LOG_NAMES="apt \ rabbitmq \ repo \ resolv.conf \ - rsyslog \ sasl2 \ ssh \ sysconfig/network-scripts \ diff --git a/tests/test_inventory.py b/tests/test_inventory.py index 2d4cc2a159..c4408e53f1 100644 --- a/tests/test_inventory.py +++ b/tests/test_inventory.py @@ -437,9 +437,6 @@ class TestAnsibleInventoryFormatConstraints(unittest.TestCase): 'repo-infra_hosts', 'repo_all', 'repo_container', - 'rsyslog', - 'rsyslog_all', - 'rsyslog_container', 'sahara-infra_all', 'sahara-infra_containers', 'sahara-infra_hosts', diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index 8e100c02e0..203c70c4b2 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -96,8 +96,6 @@ - name: openstack/ansible-role-qdrouterd - name: openstack/openstack-ansible-rabbitmq_server - name: openstack/openstack-ansible-repo_server - - name: openstack/openstack-ansible-rsyslog_client - - name: openstack/openstack-ansible-rsyslog_server - name: openstack/ansible-role-systemd_service - name: openstack/ansible-role-systemd_mount - name: openstack/ansible-role-systemd_networkd @@ -183,8 +181,6 @@ - name: openstack/ansible-role-qdrouterd - name: openstack/openstack-ansible-rabbitmq_server - name: openstack/openstack-ansible-repo_server - - name: openstack/openstack-ansible-rsyslog_client - - name: openstack/openstack-ansible-rsyslog_server - name: openstack/ansible-role-systemd_service - name: openstack/ansible-role-systemd_mount - name: openstack/ansible-role-systemd_networkd
Mitaka Ussuri
rsyslog_clientMitakaZed
rsyslog_serverMitakaZed
pip_install Mitaka