mirror of https://github.com/jumpserver/jumpserver
				
				
				
			
		
			
				
	
	
		
			59 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			YAML
		
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			YAML
		
	
	
- hosts: mongodb
 | 
						|
  gather_facts: no
 | 
						|
  vars:
 | 
						|
    ansible_python_interpreter: "{{ local_python_interpreter }}"
 | 
						|
 | 
						|
  tasks:
 | 
						|
    - name: Test MongoDB connection
 | 
						|
      mongodb_ping:
 | 
						|
        login_user: "{{ jms_account.username }}"
 | 
						|
        login_password: "{{ jms_account.secret }}"
 | 
						|
        login_host: "{{ jms_asset.address }}"
 | 
						|
        login_port: "{{ jms_asset.port }}"
 | 
						|
        login_database: "{{ jms_asset.spec_info.db_name }}"
 | 
						|
        ssl: "{{ jms_asset.spec_info.use_ssl }}"
 | 
						|
        ssl_ca_certs: "{{ jms_asset.secret_info.ca_cert | default('') }}"
 | 
						|
        ssl_certfile: "{{ jms_asset.secret_info.client_key | default('') }}"
 | 
						|
        connection_options:
 | 
						|
          - tlsAllowInvalidHostnames: "{{ jms_asset.spec_info.allow_invalid_cert}}"
 | 
						|
      register: db_info
 | 
						|
 | 
						|
    - name: Display MongoDB version
 | 
						|
      debug:
 | 
						|
        var: db_info.server_version
 | 
						|
      when: db_info is succeeded
 | 
						|
 | 
						|
    - name: Change MongoDB password
 | 
						|
      mongodb_user:
 | 
						|
        login_user: "{{ jms_account.username }}"
 | 
						|
        login_password: "{{ jms_account.secret }}"
 | 
						|
        login_host: "{{ jms_asset.address }}"
 | 
						|
        login_port: "{{ jms_asset.port }}"
 | 
						|
        login_database: "{{ jms_asset.spec_info.db_name }}"
 | 
						|
        ssl: "{{ jms_asset.spec_info.use_ssl }}"
 | 
						|
        ssl_ca_certs: "{{ jms_asset.secret_info.ca_cert | default('') }}"
 | 
						|
        ssl_certfile: "{{ jms_asset.secret_info.client_key | default('') }}"
 | 
						|
        connection_options:
 | 
						|
          - tlsAllowInvalidHostnames: "{{ jms_asset.spec_info.allow_invalid_cert}}"
 | 
						|
        db: "{{ jms_asset.spec_info.db_name }}"
 | 
						|
        name: "{{ account.username }}"
 | 
						|
        password: "{{ account.secret }}"
 | 
						|
      ignore_errors: true
 | 
						|
      when: db_info is succeeded
 | 
						|
 | 
						|
    - name: Verify password
 | 
						|
      mongodb_ping:
 | 
						|
        login_user: "{{ account.username }}"
 | 
						|
        login_password: "{{ account.secret }}"
 | 
						|
        login_host: "{{ jms_asset.address }}"
 | 
						|
        login_port: "{{ jms_asset.port }}"
 | 
						|
        login_database: "{{ jms_asset.spec_info.db_name }}"
 | 
						|
        ssl: "{{ jms_asset.spec_info.use_ssl }}"
 | 
						|
        ssl_ca_certs: "{{ jms_asset.secret_info.ca_cert | default('') }}"
 | 
						|
        ssl_certfile: "{{ jms_asset.secret_info.client_key | default('') }}"
 | 
						|
        connection_options:
 | 
						|
          - tlsAllowInvalidHostnames: "{{ jms_asset.spec_info.allow_invalid_cert}}"
 | 
						|
      when: check_conn_after_change
 | 
						|
      register: result
 | 
						|
      failed_when: not result.is_available
 |