diff --git a/.gitignore b/.gitignore index 3a772066..c46a9ec6 100644 --- a/.gitignore +++ b/.gitignore @@ -45,6 +45,7 @@ logs/* # OS generated files # ###################### ._* +.ansible .tox *.egg-info .eggs diff --git a/defaults/main.yml b/defaults/main.yml index c362ad8a..00d31dcb 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -14,7 +14,7 @@ # limitations under the License. ## Verbosity Options -debug: False +debug: false # Set the host which will execute the shade modules # for the service setup. The host must already have @@ -143,10 +143,10 @@ horizon_service_name: horizon ## Session configuration # Specifies the timespan in seconds inactivity, until a user is considered as # logged out -horizon_session_engine: 'django.contrib.sessions.backends.cache' +horizon_session_engine: "django.contrib.sessions.backends.cache" horizon_session_caches: default: - BACKEND: 'django.core.cache.backends.memcached.PyMemcacheCache' + BACKEND: "django.core.cache.backends.memcached.PyMemcacheCache" LOCATION: "{{ horizon_memcached_servers.split(',') }}" horizon_session_timeout: 1800 @@ -155,7 +155,7 @@ horizon_help_url: https://docs.openstack.org/horizon/latest/user/ ## Horizon ALLOWED_HOSTS horizon_allowed_hosts: - - '*' + - "*" ## Installation directories # When horizon_lib_dir is not defined, it will be detected automatically @@ -183,31 +183,30 @@ horizon_overview_days_range: 1 # require any extra configuration horizon_images_upload_mode: direct -horizon_images_allow_location: False +horizon_images_allow_location: false horizon_time_zone: UTC -horizon_enforce_password_check: False -horizon_disable_password_reveal: False -horizon_enable_password_retrieve: False -horizon_enable_password_autocomplete: False -horizon_enable_heatstack_user_pass: True +horizon_enforce_password_check: false +horizon_disable_password_reveal: false +horizon_enable_password_retrieve: false +horizon_enable_password_autocomplete: false +horizon_enable_heatstack_user_pass: true # If nova_libvirt_inject_password is set to True, then this can also be enabled: -horizon_can_set_password: False -horizon_enable_cinder_backup: False +horizon_can_set_password: false +horizon_enable_cinder_backup: false # Enables IPv6 support in Horizon, such as managing network subnets -horizon_enable_ipv6: True +horizon_enable_ipv6: true # Enables router support in Horizon, disable if you don't have Neutron L3 agent -horizon_enable_router: True +horizon_enable_router: true # Disable/Enable simplified floating IP address management for deployments with # multiple floating IP pools or complex network requirements. -horizon_simple_ip_management: True +horizon_simple_ip_management: true # To enable ha router support in horizon set to True -horizon_enable_ha_router: False +horizon_enable_ha_router: false # Provide default DNS servers to use when a subnet is created. horizon_default_dns_nameservers: [] - # Provide list of network types that are available for creation horizon_network_provider_types: "{{ neutron_ml2_drivers_type | default('geneve,vlan,flat') }}" @@ -217,7 +216,7 @@ horizon_network_provider_types: "{{ neutron_ml2_drivers_type | default('geneve,v # where iframes are not used in deployment. Default setting is True. # For more information see: # http://tinyurl.com/anticlickjack -horizon_disallow_iframe_embed: True +horizon_disallow_iframe_embed: true # WSGI tuning parameters # horizon_wsgi_processes: 4 @@ -269,10 +268,10 @@ horizon_keystone_endpoint: "{{ keystone_service_internalurl }}" ## Horizon Multi-Domain Support # these variables should only be changed if horizon_keystone_endpoint is a Keystone v3 API endpoint -horizon_keystone_multidomain_support: False +horizon_keystone_multidomain_support: false # It is strongly advised NOT to enable dropdown for public clouds, as advertising enabled domains # to unauthenticated customers irresponsibly exposes private information. -horizon_keystone_multidomain_dropdown: False +horizon_keystone_multidomain_dropdown: false horizon_keystone_default_domain: Default @@ -282,7 +281,7 @@ horizon_keystone_default_domain: Default horizon_keystone_multidomain_choices: "(('{{ horizon_keystone_default_domain }}', '{{ horizon_keystone_default_domain }}'),)" # Enable/disable v2 openrc file download in horizon. -horizon_show_keystone_v2_rc: True +horizon_show_keystone_v2_rc: true ### Set the cacert pem for Keystone if you'd like Horizon to verify it. # horizon_cacert_pem: /path/to/cacert.pem @@ -300,24 +299,24 @@ horizon_ssl_csrf_trusted_origins: [] horizon_default_role_name: member ## Launch instance -horizon_launch_instance_legacy: False -horizon_launch_instance_ng: True +horizon_launch_instance_legacy: false +horizon_launch_instance_ng: true horizon_launch_instance_defaults: - config_drive: False - enable_scheduler_hints: True - disable_image: False - disable_instance_snapshot: False - disable_volume: False - disable_volume_snapshot: False - create_volume: True - hide_create_volume: False + config_drive: false + enable_scheduler_hints: true + disable_image: false + disable_instance_snapshot: false + disable_volume: false + disable_volume_snapshot: false + create_volume: true + hide_create_volume: false ## Adjutant UI Panel horizon_enable_adjutant_ui: "{{ (groups['adjutant_all'] is defined) and (groups['adjutant_all'] | length > 0) }}" ## Barbican UI Panel ### Barbican UI is just a cookie-cutter scaffolding and does not provide any functionality at this time. -horizon_enable_barbican_ui: False +horizon_enable_barbican_ui: false ## Blazar UI Panel horizon_enable_blazar_ui: "{{ (groups['blazar_all'] is defined) and (groups['blazar_all'] | length > 0) }}" @@ -363,7 +362,7 @@ horizon_enable_tacker_ui: "{{ (groups['tacker_all'] is defined) and (groups['tac horizon_enable_trove_ui: "{{ (groups['trove_all'] is defined) and (groups['trove_all'] | length > 0) }}" ## Watcher UI Panel -horizon_enable_watcher_ui: False +horizon_enable_watcher_ui: false ## Zun UI Panel horizon_enable_zun_ui: "{{ (groups['zun_all'] is defined) and (groups['zun_all'] | length > 0) }}" @@ -437,7 +436,7 @@ horizon_listen_ports: horizon_pip_packages: - "git+{{ horizon_git_repo }}@{{ horizon_git_install_branch }}#egg=horizon" - - "git+{{ openstack_github_base_url }}/Kronuz/pyScss@60414f5d573315a8458b5fbcdf69e5c648c44a9a" # needed for python>=3.11 + - "git+{{ openstack_github_base_url }}/Kronuz/pyScss@60414f5d573315a8458b5fbcdf69e5c648c44a9a" # needed for python>=3.11 - pymemcache - python-memcached @@ -495,7 +494,7 @@ horizon_optional_pip_packages: [] # This variable is used to update the horizon translations from # Zanata, this can be set to "True" when testing translations, # but should otherwise be left as False. -horizon_translations_update: False +horizon_translations_update: false # This variable is used to define the version of the project # (horizon) to pull from Zanata. Default value is master, @@ -528,10 +527,10 @@ horizon_keystone_admin_roles: # federation protocols and identity provider/federation protocol # horizon_websso_keystone_url: "{{ horizon_keystone_endpoint }}" horizon_websso_initial_choice: "credentials" -horizon_websso_default_redirect: False +horizon_websso_default_redirect: false horizon_websso_default_redirect_region: "{{ horizon_websso_keystone_url | default(horizon_keystone_endpoint) }}" horizon_websso_default_redirect_logout: "" -horizon_websso_use_http_referer: True +horizon_websso_use_http_referer: true ### ### Backend TLS @@ -549,7 +548,7 @@ horizon_pki_certs_path: "{{ horizon_pki_dir ~ '/certs/certs/' }}" horizon_pki_intermediate_cert_name: "{{ openstack_pki_service_intermediate_cert_name | default('ExampleCorpIntermediate') }}" horizon_pki_intermediate_cert_path: >- {{ horizon_pki_dir ~ '/roots/' ~ horizon_pki_intermediate_cert_name ~ '/certs/' ~ horizon_pki_intermediate_cert_name ~ '.crt' }} -horizon_pki_regen_cert: '' +horizon_pki_regen_cert: "" horizon_pki_san: "{{ openstack_pki_san | default('DNS:' ~ ansible_facts['hostname'] ~ ',IP:' ~ management_address) }}" horizon_pki_certificates: - name: "horizon_{{ ansible_facts['hostname'] }}" diff --git a/handlers/main.yml b/handlers/main.yml index 741815ad..4e19fe7a 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -26,7 +26,7 @@ - name: Restart wsgi process service: name: "{{ horizon_system_service_name }}" - enabled: yes + enabled: true state: "restarted" daemon_reload: "{{ (ansible_facts['service_mgr'] == 'systemd') | ternary('yes', omit) }}" listen: diff --git a/tasks/horizon_apache.yml b/tasks/horizon_apache.yml index cf9afd8a..c5778cca 100644 --- a/tasks/horizon_apache.yml +++ b/tasks/horizon_apache.yml @@ -17,7 +17,7 @@ apache2_module: name: "{{ item.name }}" state: "{{ item.state }}" - ignore_configcheck: yes + ignore_configcheck: true warn_mpm_absent: false with_items: "{{ horizon_apache_mpms | sort(attribute='state') }}" when: @@ -40,7 +40,7 @@ apache2_module: name: "{{ item.name }}" state: "{{ item.state }}" - ignore_configcheck: yes + ignore_configcheck: true with_items: - "{{ horizon_apache_modules }}" when: @@ -83,14 +83,14 @@ - name: Ensure Apache ServerTokens lineinfile: dest: "{{ horizon_apache_security_conf }}" - regexp: '^ServerTokens' + regexp: "^ServerTokens" line: "ServerTokens {{ horizon_apache_servertokens }}" notify: Restart wsgi process - name: Ensure Apache ServerSignature lineinfile: dest: "{{ horizon_apache_security_conf }}" - regexp: '^ServerSignature' + regexp: "^ServerSignature" line: "ServerSignature {{ horizon_apache_serversignature }}" notify: Restart wsgi process @@ -99,7 +99,7 @@ - name: Remove Listen from Apache config lineinfile: dest: "{{ horizon_apache_security_conf }}" - regexp: '^(Listen.*)' - backrefs: yes - line: '#\1' + regexp: "^(Listen.*)" + backrefs: true + line: "#\\1" notify: Restart wsgi process diff --git a/tasks/horizon_install_source.yml b/tasks/horizon_install_source.yml index 6027a7ad..4c5c3923 100644 --- a/tasks/horizon_install_source.yml +++ b/tasks/horizon_install_source.yml @@ -21,7 +21,7 @@ - name: Retrieve the constraints URL uri: url: "{{ horizon_upper_constraints_url }}" - return_content: yes + return_content: true register: _u_c_contents until: _u_c_contents is success retries: 15 diff --git a/tasks/horizon_post_install.yml b/tasks/horizon_post_install.yml index ae1cb8e3..63be27f9 100644 --- a/tasks/horizon_post_install.yml +++ b/tasks/horizon_post_install.yml @@ -39,7 +39,7 @@ mode: "{{ item.mode | default(omit) }}" recurse: "{{ item.recurse | default(True) }}" with_items: - - { path: "{{ horizon_lib_dir }}", fixup: True } + - { path: "{{ horizon_lib_dir }}", fixup: true } - { path: "/etc/openstack-dashboard", fixup: "{{ (ansible_facts['os_family'] | lower) == 'redhat' }}" } when: item.fixup @@ -89,7 +89,7 @@ owner: "{{ horizon_system_user_name }}" group: "{{ horizon_system_group_name }}" state: "link" - force: yes + force: true with_items: - { src: "/etc/horizon/local_settings.py", dest: "{{ horizon_lib_dir }}/openstack_dashboard/local/local_settings.py" } @@ -133,14 +133,14 @@ - name: Collect static files command: "{{ horizon_manage }} collectstatic --noinput" - become: yes + become: true become_user: "{{ horizon_system_user_name }}" changed_when: false notify: Restart wsgi process - name: Compress static files command: "{{ horizon_manage }} compress --force" - become: yes + become: true become_user: "{{ horizon_system_user_name }}" changed_when: false notify: Restart wsgi process diff --git a/tasks/horizon_post_install_source.yml b/tasks/horizon_post_install_source.yml index a0f11191..3560fd03 100644 --- a/tasks/horizon_post_install_source.yml +++ b/tasks/horizon_post_install_source.yml @@ -31,9 +31,9 @@ paths: "{{ horizon_lib_dir }}" patterns: "^.*(dashboard|ui)$" file_type: directory - use_regex: yes + use_regex: true excludes: "openstack_dashboard" - recurse: no + recurse: false register: found_dashboards - name: Registering panels @@ -48,7 +48,7 @@ {{ dashboard_path }} patterns: ["^_[0-9]{2,4}_.*.py$"] file_type: file - use_regex: yes + use_regex: true register: found_panels - name: Registering settings @@ -63,7 +63,7 @@ {{ dashboard_path }} patterns: ["^_[0-9]{2,4}_.*.py$"] file_type: file - use_regex: yes + use_regex: true register: found_settings - name: Registering default policy files @@ -76,9 +76,9 @@ {% endfor %} {% endfor %} {{ policy_path }} - patterns: ['^.*\.(json|yaml)$'] + patterns: ["^.*\\.(json|yaml)$"] file_type: file - use_regex: yes + use_regex: true register: found_default_policy - name: Registering policy files @@ -93,7 +93,7 @@ {{ policy_path }} patterns: ["^.*_policy.(json|yaml)$"] file_type: file - use_regex: yes + use_regex: true register: found_policy - name: Link default policy files diff --git a/tasks/horizon_uwsgi.yml b/tasks/horizon_uwsgi.yml index 5216f578..25b0e58c 100644 --- a/tasks/horizon_uwsgi.yml +++ b/tasks/horizon_uwsgi.yml @@ -17,10 +17,10 @@ ansible.posix.sysctl: name: net.ipv4.ip_unprivileged_port_start value: "0" - sysctl_set: yes + sysctl_set: true sysctl_file: "{{ horizon_sysctl_file }}" state: present - reload: yes + reload: true - name: Import uwsgi role include_role: diff --git a/vars/main.yml b/vars/main.yml index 34fb1752..3c2b9dba 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -16,14 +16,14 @@ _horizon_translations_pull: - project: "horizon" branch: "{{ horizon_translations_project_version }}" - enabled: True + enabled: true module: - horizon - openstack_auth - openstack_dashboard - project: "designate-dashboard" branch: "{{ horizon_translations_project_version }}" - enabled: True + enabled: true module: designatedashboard - project: "heat-dashboard" branch: "{{ horizon_translations_project_version }}" @@ -31,11 +31,11 @@ _horizon_translations_pull: module: heat_dashboard - project: "magnum-ui" branch: "{{ horizon_translations_project_version }}" - enabled: True + enabled: true module: magnum_ui - project: "trove-dashboard" branch: "{{ horizon_translations_project_version }}" - enabled: True + enabled: true module: trove_dashboard horizon_dashboard_panel_dir: "{{ horizon_lib_dir }}/openstack_dashboard/local/enabled"