summaryrefslogtreecommitdiffstats
path: root/playbooks/openstack/openshift-cluster/prerequisites.yml
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/openstack/openshift-cluster/prerequisites.yml')
-rw-r--r--playbooks/openstack/openshift-cluster/prerequisites.yml129
1 files changed, 9 insertions, 120 deletions
diff --git a/playbooks/openstack/openshift-cluster/prerequisites.yml b/playbooks/openstack/openshift-cluster/prerequisites.yml
index 11a31411e..0356b37dd 100644
--- a/playbooks/openstack/openshift-cluster/prerequisites.yml
+++ b/playbooks/openstack/openshift-cluster/prerequisites.yml
@@ -1,123 +1,12 @@
---
- hosts: localhost
tasks:
-
- # Sanity check of inventory variables
- - include: net_vars_check.yaml
-
- # Check ansible
- - name: Check Ansible version
- assert:
- that: >
- (ansible_version.major == 2 and ansible_version.minor >= 3) or
- (ansible_version.major > 2)
- msg: "Ansible version must be at least 2.3"
-
- # Check shade
- - name: Try to import python module shade
- command: python -c "import shade"
- ignore_errors: yes
- register: shade_result
- - name: Check if shade is installed
- assert:
- that: 'shade_result.rc == 0'
- msg: "Python module shade is not installed"
-
- # Check jmespath
- - name: Try to import python module shade
- command: python -c "import jmespath"
- ignore_errors: yes
- register: jmespath_result
- - name: Check if jmespath is installed
- assert:
- that: 'jmespath_result.rc == 0'
- msg: "Python module jmespath is not installed"
-
- # Check python-dns
- - name: Try to import python DNS module
- command: python -c "import dns"
- ignore_errors: yes
- register: pythondns_result
- - name: Check if python-dns is installed
- assert:
- that: 'pythondns_result.rc == 0'
- msg: "Python module python-dns is not installed"
-
- # Check jinja2
- - name: Try to import jinja2 module
- command: python -c "import jinja2"
- ignore_errors: yes
- register: jinja_result
- - name: Check if jinja2 is installed
- assert:
- that: 'jinja_result.rc == 0'
- msg: "Python module jinja2 is not installed"
-
- # Check Glance image
- - name: Try to get image facts
- os_image_facts:
- image: "{{ openstack_default_image_name }}"
- register: image_result
- - name: Check that image is available
- assert:
- that: "image_result.ansible_facts.openstack_image"
- msg: "Image {{ openstack_default_image_name }} is not available"
-
- # Check network name
- - name: Try to get network facts
- os_networks_facts:
- name: "{{ openstack_external_network_name }}"
- register: network_result
- when: not openstack_provider_network_name|default(None)
- - name: Check that network is available
- assert:
- that: "network_result.ansible_facts.openstack_networks"
- msg: "Network {{ openstack_external_network_name }} is not available"
- when: not openstack_provider_network_name|default(None)
-
- # Check keypair
- # TODO kpilatov: there is no Ansible module for getting OS keypairs
- # (os_keypair is not suitable for this)
- # this method does not force python-openstackclient dependency
- - name: Try to show keypair
- command: >
- python -c 'import shade; cloud = shade.openstack_cloud();
- exit(cloud.get_keypair("{{ openstack_ssh_public_key }}") is None)'
- ignore_errors: yes
- register: key_result
- - name: Check that keypair is available
- assert:
- that: 'key_result.rc == 0'
- msg: "Keypair {{ openstack_ssh_public_key }} is not available"
-
-# Check that custom images and flavors exist
-- hosts: localhost
-
- # Include variables that will be used by heat
- vars_files:
- - stack_params.yaml
-
- tasks:
- # Check that custom images are available
- - include: custom_image_check.yaml
- with_items:
- - "{{ openstack_master_image }}"
- - "{{ openstack_infra_image }}"
- - "{{ openstack_node_image }}"
- - "{{ openstack_lb_image }}"
- - "{{ openstack_etcd_image }}"
- - "{{ openstack_dns_image }}"
- loop_control:
- loop_var: image
-
- # Check that custom flavors are available
- - include: custom_flavor_check.yaml
- with_items:
- - "{{ master_flavor }}"
- - "{{ infra_flavor }}"
- - "{{ node_flavor }}"
- - "{{ lb_flavor }}"
- - "{{ etcd_flavor }}"
- - "{{ dns_flavor }}"
- loop_control:
- loop_var: flavor
+ - name: Check dependencies and OpenStack prerequisites
+ include_role:
+ name: openshift_openstack
+ tasks_from: check-prerequisites.yml
+
+ - name: Check network configuration
+ include_role:
+ name: openshift_openstack
+ tasks_from: net_vars_check.yaml