WwangxiyuanUpdate doc
b85bfd3f创建于 2022年8月15日历史提交
- name: Install openstack-keystone
  hosts: controller
  become: true
  roles:
    - role: init_database
      vars:
        database: keystone
        user: keystone
  tasks:
    - name: Install openstack-keystone
      yum:
        name: 
          - openstack-keystone
          - httpd
          - mod_wsgi
          - python3-openstackclient

    - name: Update config file
      shell: |
        cat << EOF > /etc/keystone/keystone.conf
        [database]
        connection = mysql+pymysql://keystone:{{ mysql_project_password }}@{{ hostvars['controller']['ansible_default_ipv4']['address'] }}/keystone

        [token]
        provider = fernet

        [security_compliance]
        unique_last_password_count = 2
        lockout_failure_attempts = 2
        lockout_duration = 5
        EOF

    - name: Sync database schema
      shell: keystone-manage db_sync

    - name: Generate fernte key
      shell: |
        keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
        keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
    
    - name: Bootstrap identity resource
      shell: |
        keystone-manage bootstrap --bootstrap-password {{ project_identity_password }} \
        --bootstrap-admin-url http://{{ hostvars['controller']['ansible_default_ipv4']['address'] }}:5000/v3/ \
        --bootstrap-internal-url http://{{ hostvars['controller']['ansible_default_ipv4']['address'] }}:5000/v3/ \
        --bootstrap-public-url http://{{ hostvars['controller']['ansible_default_ipv4']['address'] }}:5000/v3/ \
        --bootstrap-region-id RegionOne

    - name: Update httpd Servername
      shell: sed -i "s/ServerName.*/ServerName {{ hostvars['controller']['ansible_default_ipv4']['address'] }}/" /etc/httpd/conf/httpd.conf

    - name: enable keystone httpd app
      file:
        src: /usr/share/keystone/wsgi-keystone.conf
        dest: /etc/httpd/conf.d/wsgi-keystone.conf
        state: link

    - name: Start httpd service
      systemd:
        name: httpd
        state: restarted
        enabled: True

    - name: Genrate admin environment file
      shell: |
        cat << EOF > ~/.admin-openrc
        export OS_PROJECT_DOMAIN_NAME=Default
        export OS_USER_DOMAIN_NAME=Default
        export OS_PROJECT_NAME=admin
        export OS_USERNAME=admin
        export OS_PASSWORD={{ project_identity_password }}
        export OS_AUTH_URL=http://{{ hostvars['controller']['ansible_default_ipv4']['address'] }}:5000/v3
        export OS_IDENTITY_API_VERSION=3
        export OS_IMAGE_API_VERSION=2
        EOF

    - name: Create project 'service'
      shell: |
        source ~/.admin-openrc
        openstack project create --domain default --description "Service Project" service