2016-10-13 3 views
1

Я пытаюсь использовать модуль Ansible URI для входа на несколько веб-страниц и проверки условий работы и работы.Сделать возможный запуск задачи в playbook несколько раз на основе переменных

На данный момент я хочу, чтобы он просто входил в 2 веб-страницы (Peoplesoft envs), но мне нужен файл vars, который я могу добавить каждый раз, когда захочу проверить новую страницу.

Это то, что у меня есть до сих пор, но похоже, что он не входит в обе страницы, только 1 из них .... любая помощь может быть оценена.

Playbook -

--- 
- 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 в список, как это:

--- 

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' } 

и петлей над ним с with_items как это:

--- 
# 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

 Смежные вопросы

  • Нет связанных вопросов^_^