2016-10-13 2 views
1

신뢰할 수있는 URI 모듈을 사용하여 여러 웹 페이지에 로그인하고 환경이 작동하는지 확인하려고합니다.변수를 기반으로 여러 번 놀람 작업을 여러 번 실행하십시오.

지금은 2 개의 웹 페이지 (Peoplesoft envs)에 로그인하고 싶지만 새 페이지를 확인하고 싶을 때마다 추가 할 수있는 vars 파일을 원합니다.

이것은 내가 지금까지 가지고있는 것이지만 두 페이지 모두에 로그인하는 것처럼 보이지만 그 중 단지 1 개는 .... 어떤 도움을 주셔서 감사합니다.

플레이 북 -

--- 
- name: Run Selenium Test Scripts 
hosts: local 
vars_files: 
    - /etc/ansible/uri_module/vars_uri.yml 

tasks: 

    - name: Installing URI dependancy 
    yum: name=python-httplib2.noarch state=present 

    - name: Log into Webpage 
    uri: 
     url: http://{{appserver}}:{{port}}/{{dbname}}/signon.html 
     method: POST 
     body: "name={{userid}}&password={{password}}&enter=Sign%20in" 
     with_file: /etc/ansible/uri_module/vars_uri.yml 

바르 내가이 개 환경에 로그인 할의 바르 파일을 사용

--- 
    - { name: 'dog', appserver: 'st1920', port: '8100', dbname: 'dbdog', userid: 'user', password: 'pass' } 
    - { name: 'cat', appserver: 'st1921', port: '8300', dbname: 'dbcat', userid: 'user', password: 'pass' } 

출력과 -vvvv

ok: [local] => {"changed": false, "content_language": "en-US", "content_length": "1831", "content_type": "text/html", "date": "Thu, 13 Oct 2016 11:45:23 GMT", "invocation": {"module_args": {"backup": null, "body": "name=user&password=pass&enter=Sign%20in", "body_format": "raw", "content": null, "creates": null, "delimiter": null, "dest": null, "directory_mode": null, "follow": false, "follow_redirects": "safe", "force": null, "force_basic_auth": false, "group": null, "method": "POST", "mode": null, "owner": null, "password": null, "regexp": null, "remote_src": null, "removes": null, "return_content": false, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": null, "status_code": [200], "timeout": 30, "url": "http://st1921:8300/dbcat/signon.html", "user": null, "validate_certs": true, "with_file": "/etc/ansible/uri_module/vars_uri.yml"}, "module_name": "uri"}, "last_modified": "Wed, 13 Aug 2014 11:42:42 GMT", "redirected": false, "server": "WebSphere Application Server/7.0", "status": 200}  

파일, 말해 그곳에 고양이 환경에 로그인해서 저에게 말해주세요. 그렇다면 내가 말, 개구리, 또는 어떤 환경을 가지고 있다면, 나는 플레이 북을 추가하거나 변경하지 않고도 vars 파일에 계속 추가 할 수 있습니다. 지금은 고양이에 로그인 만하면 그 이유를 모르겠습니다. 나는 이것으로 올바른 길로 내려 갔습니까? 그것을하는 더 좋은 방법이 있습니까? 그것에게 오류를주지 않으면 서, 나는이 문제를 알아 내려고 애 쓰고있다! 감사합니다. .

답변

2

나는 with_file과 같은 것을 사용하는 것이 가능하지 않다고 생각합니다.

이 같은 목록에 vars_uri dictonaries를 저장하는 청소기 될 것이다 :이 같은 with_items와 그 위에

--- 

vars_uri: 
    - { name: 'dog', appserver: 'st1920', port: '8100', dbname: 'dbdog', userid: 'user', password: 'pass' } 
    - { name: 'cat', appserver: 'st1921', port: '8300', dbname: 'dbcat', userid: 'user', password: 'pass' } 

및 루프 : 완벽하게 작동

--- 
# Run Selenium Test Scripts 
hosts: local 
vars_files: 
    - /etc/ansible/uri_module/vars_uri.yml 

tasks: 

    - name: Installing URI dependancy 
    yum: name=python-httplib2.noarch state=present 

    - name: Log into Webpage 
    uri: 
     url: http://{{ item.appserver }}:{{ item.port }}/{{ item.dbname }}/signon.html 
     method: POST 
     body: "name={{ item.userid }}&password={{ item.password }}&enter=Sign%20in" 
    with_items: vars_uri 
+0

는 대단히 선생님 감사합니다 ! – Alex