commit 9fa5ceb75c516a9ae572baed3da5cbfcc6f662dd Author: Thomas Constans Date: Tue Sep 19 22:19:18 2023 +0200 added role tco.tuned diff --git a/README.md b/README.md new file mode 100644 index 0000000..f41cf21 --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +Role Name +========= + +install tuned + +Requirements +------------ + +None + + +Role Variables +-------------- + +tuned_profile: name of profile to load default balanced + +other available profiles: +- accelerator-performance - Throughput performance based tuning with disabled higher latency STOP states +- aws - Optimize for aws ec2 instances +- balanced - General non-specialized tuned profile +- desktop - Optimize for the desktop use-case +- hpc-compute - Optimize for HPC compute workloads +- intel-sst - Configure for Intel Speed Select Base Frequency +- latency-performance - Optimize for deterministic performance at the cost of increased power consumption +- network-latency - Optimize for deterministic performance at the cost of increased power consumption, focused on low latency network performance +- network-throughput - Optimize for streaming network throughput, generally only necessary on older CPUs or 40G+ networks +- optimize-serial-console - Optimize for serial console use. +- powersave - Optimize for low power consumption +- throughput-performance - Broadly applicable tuning that provides excellent performance across a variety of common server workloads +- virtual-guest - Optimize for running inside a virtual guest +- virtual-host - Optimize for running KVM guests + +Dependencies +------------ + +None + +Example Playbook +---------------- + +Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too: + + - hosts: servers + roles: + - { role: tco.tuned, tuned_profile: powersave } + +License +------- + +BSD + +Author Information +------------------ + +Thomas C diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..e19c1e8 --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1,3 @@ +--- +# defaults file for tco.tuned +tuned_profile: balanced diff --git a/handlers/main.yml b/handlers/main.yml new file mode 100644 index 0000000..8326242 --- /dev/null +++ b/handlers/main.yml @@ -0,0 +1,6 @@ +--- +# handlers file for tco.tuned +- name: restart tuned + service: + name: tuned + state: restarted diff --git a/meta/main.yml b/meta/main.yml new file mode 100644 index 0000000..97a24a5 --- /dev/null +++ b/meta/main.yml @@ -0,0 +1,53 @@ +galaxy_info: + author: your name + description: your role description + company: your company (optional) + + # If the issue tracker for your role is not on github, uncomment the + # next line and provide a value + # issue_tracker_url: http://example.com/issue/tracker + + # Choose a valid license ID from https://spdx.org - some suggested licenses: + # - BSD-3-Clause (default) + # - MIT + # - GPL-2.0-or-later + # - GPL-3.0-only + # - Apache-2.0 + # - CC-BY-4.0 + license: license (GPL-2.0-or-later, MIT, etc) + + min_ansible_version: 2.1 + + # If this a Container Enabled role, provide the minimum Ansible Container version. + # min_ansible_container_version: + + # + # Provide a list of supported platforms, and for each platform a list of versions. + # If you don't wish to enumerate all versions for a particular platform, use 'all'. + # To view available platforms and versions (or releases), visit: + # https://galaxy.ansible.com/api/v1/platforms/ + # + # platforms: + # - name: Fedora + # versions: + # - all + # - 25 + # - name: SomePlatform + # versions: + # - all + # - 1.0 + # - 7 + # - 99.99 + + galaxy_tags: [] + # List tags for your role here, one per line. A tag is a keyword that describes + # and categorizes the role. Users find roles by searching for tags. Be sure to + # remove the '[]' above, if you add tags to this list. + # + # NOTE: A tag is limited to a single word comprised of alphanumeric characters. + # Maximum 20 tags per role. + +dependencies: +- { role: tco.changelog, role_version: 0.9, myrole_name: tco.tuned } + # List your role dependencies here, one per line. Be sure to remove the '[]' above, + # if you add dependencies to this list. diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..0ea66ae --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,18 @@ +--- +# tasks file for tco.tuned +- name: "[tuned] - install" + package: + name: tuned + state: present + +- name: "[tuned] - service" + ansible.builtin.service: + name: tuned + state: started + enabled: true + +- name: "[tuned] - select profile" + copy: + content: "{{ tuned_profile }}" + dest: /etc/tuned/active_profile + notify: restart tuned diff --git a/tests/inventory b/tests/inventory new file mode 100644 index 0000000..878877b --- /dev/null +++ b/tests/inventory @@ -0,0 +1,2 @@ +localhost + diff --git a/tests/test.yml b/tests/test.yml new file mode 100644 index 0000000..befeae3 --- /dev/null +++ b/tests/test.yml @@ -0,0 +1,5 @@ +--- +- hosts: localhost + + roles: + - tco.tuned diff --git a/vars/main.yml b/vars/main.yml new file mode 100644 index 0000000..748bd67 --- /dev/null +++ b/vars/main.yml @@ -0,0 +1,2 @@ +--- +# vars file for tco.tuned