fe2a59c4创建于 2022年8月22日历史提交
- name: Install openstack dashboard
  hosts: dashboard
  become: true
  tasks:
    - name: Install horizon package
      yum:
        name:
          - openstack-dashboard

    - name: Initialize dashboard config file
      shell: |
        sed -i "s/^OPENSTACK_HOST.*/OPENSTACK_HOST = \"{{ hostvars['controller']['ansible_default_ipv4']['address'] }}\"/" /etc/openstack-dashboard/local_settings
        sed -i "s/^ALLOWED_HOSTS.*/ALLOWED_HOSTS = [\"localhost\", \"{{ horizon_allowed_host }}\"]/" /etc/openstack-dashboard/local_settings
        sed -i "s/^OPENSTACK_KEYSTONE_URL.*/OPENSTACK_KEYSTONE_URL = \"http:\/\/%s:5000\/v3\" % OPENSTACK_HOST/" /etc/openstack-dashboard/local_settings

    - name: Update dashboard config file
      blockinfile:
        path: /etc/openstack-dashboard/local_settings
        insertafter: EOF
        block: |
          SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
          CACHES = {
          'default': {
              'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
              'LOCATION': '{{ hostvars['controller']['ansible_default_ipv4']['address'] }}:11211',
              }
          }
          OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
          OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"
          OPENSTACK_KEYSTONE_DEFAULT_ROLE = "member"
          WEBROOT = '/dashboard'
          POLICY_FILES_PATH = "/etc/openstack-dashboard"

          OPENSTACK_API_VERSIONS = {
              "identity": 3,
              "image": 2,
              "volume": 3,
          }

    - name: Restart httpd service for dashboard
      systemd:
        name: httpd
        state: restarted
        enabled: True