diff --git a/defaults/main.yml b/defaults/main.yml index 5d4c88d..cba3dcb 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -16,14 +16,18 @@ ## Verbosity Options debug: False -#python venv executable +# python venv executable cloudkitty_venv_python_executable: "{{ openstack_venv_python_executable | default('python3') }}" # Set the host which will execute the shade modules # for the service setup. The host must already have # clouds.yaml properly configured. cloudkitty_service_setup_host: "{{ openstack_service_setup_host | default('localhost') }}" -cloudkitty_service_setup_host_python_interpreter: "{{ openstack_service_setup_host_python_interpreter | default((cloudkitty_service_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_facts['python']['executable'])) }}" +cloudkitty_service_setup_host_python_interpreter: >- + {{ + openstack_service_setup_host_python_interpreter | default( + (cloudkitty_service_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_facts['python']['executable'])) + }} # Set the package install state for distribution and pip packages # Options are 'present' and 'latest' @@ -34,7 +38,8 @@ cloudkitty_pip_package_state: "latest" # RPC cloudkitty_oslomsg_rpc_host_group: "{{ oslomsg_rpc_host_group | default('rabbitmq_all') }}" -cloudkitty_oslomsg_rpc_setup_host: "{{ (cloudkitty_oslomsg_rpc_host_group in groups) | ternary(groups[cloudkitty_oslomsg_rpc_host_group][0], 'localhost') }}" +cloudkitty_oslomsg_rpc_setup_host: >- + {{ (cloudkitty_oslomsg_rpc_host_group in groups) | ternary(groups[cloudkitty_oslomsg_rpc_host_group][0], 'localhost') }} cloudkitty_oslomsg_rpc_transport: "{{ oslomsg_rpc_transport | default('rabbit') }}" cloudkitty_oslomsg_rpc_servers: "{{ oslomsg_rpc_servers | default('127.0.0.1') }}" cloudkitty_oslomsg_rpc_port: "{{ oslomsg_rpc_port | default('5672') }}" @@ -46,7 +51,8 @@ cloudkitty_oslomsg_rpc_ssl_ca_file: "{{ oslomsg_rpc_ssl_ca_file | default('') }} # Notify cloudkitty_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}" -cloudkitty_oslomsg_notify_setup_host: "{{ (cloudkitty_oslomsg_notify_host_group in groups) | ternary(groups[cloudkitty_oslomsg_notify_host_group][0], 'localhost') }}" +cloudkitty_oslomsg_notify_setup_host: >- + {{ (cloudkitty_oslomsg_notify_host_group in groups) | ternary(groups[cloudkitty_oslomsg_notify_host_group][0], 'localhost') }} cloudkitty_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}" cloudkitty_oslomsg_notify_servers: "{{ oslomsg_notify_servers | default('127.0.0.1') }}" cloudkitty_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}" @@ -71,7 +77,8 @@ cloudkitty_bin: "/openstack/venvs/cloudkitty-{{ cloudkitty_venv_tag }}/bin" cloudkitty_git_repo: https://opendev.org/openstack/cloudkitty cloudkitty_git_install_branch: master -cloudkitty_upper_constraints_url: "{{ requirements_git_url | default('https://releases.openstack.org/constraints/upper/' ~ requirements_git_install_branch | default('master')) }}" +cloudkitty_upper_constraints_url: >- + {{ requirements_git_url | default('https://releases.openstack.org/constraints/upper/' ~ requirements_git_install_branch | default('master')) }} cloudkitty_git_constraints: - "--constraint {{ cloudkitty_upper_constraints_url }}" @@ -93,7 +100,11 @@ cloudkitty_output_pipeline: osrf cloudkitty_output_basepath: /var/cloudkitty/reports cloudkitty_db_setup_host: "{{ openstack_db_setup_host | default('localhost') }}" -cloudkitty_db_setup_python_interpreter: "{{ openstack_db_setup_python_interpreter | default((cloudkitty_db_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_facts['python']['executable'])) }}" +cloudkitty_db_setup_python_interpreter: >- + {{ + openstack_db_setup_python_interpreter | default( + (cloudkitty_db_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_facts['python']['executable'])) + }} cloudkitty_galera_address: "{{ galera_address | default('127.0.0.1') }}" cloudkitty_galera_database: cloudkitty cloudkitty_galera_user: cloudkitty @@ -101,7 +112,11 @@ cloudkitty_galera_port: "{{ galera_port | default('3306') }}" cloudkitty_galera_use_ssl: "{{ galera_use_ssl | default(False) }}" cloudkitty_galera_ssl_ca_cert: "{{ galera_ssl_ca_cert | default('') }}" cloudkitty_database_connection: >- - mysql+pymysql://{{ cloudkitty_galera_user }}:{{ cloudkitty_container_mysql_password }}@{{ cloudkitty_galera_address }}:{{ cloudkitty_galera_port }}/{{ cloudkitty_galera_database }}?charset=utf8{% if cloudkitty_galera_use_ssl | bool %}&ssl_verify_cert=true{% if cloudkitty_galera_ssl_ca_cert | length > 0 %}&ssl_ca={{ cloudkitty_galera_ssl_ca_cert }}{% endif %}{% endif %} + mysql+pymysql://{{ cloudkitty_galera_user }}:{{ cloudkitty_container_mysql_password }}@{{ cloudkitty_galera_address }}:{{ cloudkitty_galera_port + }}/{{ cloudkitty_galera_database }}?charset=utf8{% + if cloudkitty_galera_use_ssl | bool -%}&ssl_verify_cert=true{% + if cloudkitty_galera_ssl_ca_cert | length > 0 %}&ssl_ca={{ cloudkitty_galera_ssl_ca_cert }}{% endif -%}{%- endif %} + cloudkitty_db_max_overflow: "{{ openstack_db_max_overflow | default('50') }}" cloudkitty_db_max_pool_size: "{{ openstack_db_max_pool_size | default('5') }}" cloudkitty_db_pool_timeout: "{{ openstack_db_pool_timeout | default('30') }}" @@ -109,7 +124,8 @@ cloudkitty_db_connection_recycle_time: "{{ openstack_db_connection_recycle_time cloudkitty_wsgi_threads: 1 cloudkitty_wsgi_processes_max: 16 -cloudkitty_wsgi_processes: "{{ [[(ansible_facts['processor_vcpus']//ansible_facts['processor_threads_per_core'])|default(1), 1] | max * 2, cloudkitty_wsgi_processes_max] | min }}" +cloudkitty_wsgi_processes: >- + {{ [[(ansible_facts['processor_vcpus'] // ansible_facts['processor_threads_per_core']) | default(1), 1] | max * 2, cloudkitty_wsgi_processes_max] | min }} cloudkitty_uwsgi_bind_address: "{{ openstack_service_bind_address | default('0.0.0.0') }}" cloudkitty_uwsgi_tls: crt: "{{ cloudkitty_ssl_cert }}" @@ -228,5 +244,5 @@ cloudkitty_pki_install_certificates: mode: "0600" # Define user-provided SSL certificates -#cloudkitty_user_ssl_cert: -#cloudkitty_user_ssl_key: +# cloudkitty_user_ssl_cert: +# cloudkitty_user_ssl_key: diff --git a/meta/main.yml b/meta/main.yml index 1a7095e..449fbaa 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -18,23 +18,22 @@ galaxy_info: description: Installation and setup of cloudkitty company: Rackspace license: Apache2 - min_ansible_version: 2.2 + role_name: os_cloudkitty + min_ansible_version: "2.10" platforms: - name: Debian versions: - - buster + - bullseye - name: Ubuntu versions: - - bionic - focal + - jammy - name: EL versions: - - 8 - categories: + - "9" + galaxy_tags: - cloud - python - cloudkitty - development - openstack -dependencies: - - apt_package_pinning diff --git a/tasks/cloudkitty_pre_install.yml b/tasks/cloudkitty_pre_install.yml index 1731d07..6a09cdb 100644 --- a/tasks/cloudkitty_pre_install.yml +++ b/tasks/cloudkitty_pre_install.yml @@ -15,7 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -- name: create the system group +- name: Create the system group group: name: "{{ cloudkitty_system_group_name }}" state: "present" @@ -39,9 +39,9 @@ file: path: "{{ item.path }}" state: directory - owner: "{{ item.owner|default(cloudkitty_system_user_name) }}" - group: "{{ item.group|default(cloudkitty_system_group_name) }}" - mode: "{{ item.mode|default('0755') }}" + owner: "{{ item.owner | default(cloudkitty_system_user_name) }}" + group: "{{ item.group | default(cloudkitty_system_group_name) }}" + mode: "{{ item.mode | default('0755') }}" with_items: - { path: "/openstack", mode: "0755", owner: "root", group: "root" } - { path: "/etc/cloudkitty" } @@ -54,6 +54,6 @@ state: directory owner: "{{ cloudkitty_system_user_name }}" group: "{{ cloudkitty_system_group_name }}" - mode: 0755 + mode: "0755" tags: - cloudkitty-dirs diff --git a/tasks/main.yml b/tasks/main.yml index 83aec8b..85ce983 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -43,7 +43,8 @@ tags: - always -- include_role: +- name: Including osa.db_setup role + include_role: name: openstack.osa.db_setup apply: tags: @@ -64,7 +65,8 @@ tags: - always -- include_role: +- name: Including osa.mq_setup role + include_role: name: openstack.osa.mq_setup apply: tags: @@ -86,7 +88,8 @@ tags: - always -- import_tasks: cloudkitty_pre_install.yml +- name: Importing cloudkitty_pre_install tasks + import_tasks: cloudkitty_pre_install.yml tags: - cloudkitty-install @@ -120,7 +123,8 @@ venv_install_destination_path: "{{ cloudkitty_bin | dirname }}" venv_install_distro_package_list: "{{ cloudkitty_distro_packages }}" venv_pip_install_args: "{{ cloudkitty_pip_install_args }}" - venv_pip_packages: "{{ cloudkitty_pip_packages | union((cloudkitty_oslomsg_amqp1_enabled | bool) | ternary(cloudkitty_optional_oslomsg_amqp1_pip_packages, [])) }}" + venv_pip_packages: >- + {{ cloudkitty_pip_packages | union((cloudkitty_oslomsg_amqp1_enabled | bool) | ternary(cloudkitty_optional_oslomsg_amqp1_pip_packages, [])) }} venv_facts_when_changed: - section: "cloudkitty" option: "venv_tag" @@ -128,7 +132,8 @@ tags: - cloudkitty-install -- import_tasks: cloudkitty_post_install.yml +- name: Importing cloudkitty_post_install tasks + import_tasks: cloudkitty_post_install.yml tags: - cloudkitty-config @@ -143,7 +148,8 @@ - uwsgi -- include_role: +- name: Including osa.service_setup role + include_role: name: openstack.osa.service_setup apply: tags: @@ -178,7 +184,8 @@ tags: - always -- import_tasks: cloudkitty_db_sync.yml +- name: Importing cloudkitty_db_sync tasks + import_tasks: cloudkitty_db_sync.yml when: - _cloudkitty_is_first_play_host tags: @@ -193,10 +200,10 @@ systemd_tempd_prefix: openstack systemd_slice_name: cloudkitty systemd_lock_path: /var/lock/cloudkitty - systemd_CPUAccounting: true - systemd_BlockIOAccounting: true - systemd_MemoryAccounting: true - systemd_TasksAccounting: true + systemd_service_cpu_accounting: true + systemd_service_block_io_accounting: true + systemd_service_memory_accounting: true + systemd_service_tasks_accounting: true systemd_services: - service_name: "{{ service_var.service_name }}" enabled: "{{ service_var.enabled | default(True) }}" diff --git a/vars/main.yml b/vars/main.yml index a6f8809..0caaa81 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -13,7 +13,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -_cloudkitty_is_first_play_host: "{{ (cloudkitty_services['cloudkitty-api']['group'] in group_names and inventory_hostname == ((groups[cloudkitty_services['cloudkitty-api']['group']] | intersect(ansible_play_hosts)) | list)[0]) | bool }}" +_cloudkitty_is_first_play_host: >- + {{ + (cloudkitty_services['cloudkitty-api']['group'] in group_names and inventory_hostname == ( + (groups[cloudkitty_services['cloudkitty-api']['group']] | intersect(ansible_play_hosts)) | list)[0]) | bool + }} # # Compile a list of the services on a host based on whether