Make introspection optional 63/46063/3
authorDan Radez <dradez@redhat.com>
Fri, 20 Oct 2017 19:08:49 +0000 (15:08 -0400)
committerDan Radez <dradez@redhat.com>
Tue, 5 Dec 2017 21:37:15 +0000 (16:37 -0500)
- exposes new option to end users to skip introspection
- moves the logic to decide to introspect or not into python

JIRA: APEX-536

Change-Id: Ieaff11362ff8f906daa98d301d3d473ad549d08f
Signed-off-by: Dan Radez <dradez@redhat.com>
apex/deploy.py
config/deploy/deploy_settings.yaml
lib/ansible/playbooks/deploy_overcloud.yml

index 5485d15..d2f1c93 100644 (file)
@@ -248,7 +248,11 @@ def main():
                                  os_version=os_version)
     net_env_target = os.path.join(APEX_TEMP_DIR, constants.NET_ENV_FILE)
     utils.dump_yaml(dict(net_env), net_env_target)
+
+    # get global deploy params
     ha_enabled = deploy_settings['global_params']['ha_enabled']
+    introspect = deploy_settings['global_params'].get('introspect', True)
+
     if args.virtual:
         if args.virt_compute_ram is None:
             compute_ram = args.virt_default_ram
@@ -434,6 +438,9 @@ def main():
         deploy_vars['virtual'] = args.virtual
         deploy_vars['debug'] = args.debug
         deploy_vars['aarch64'] = platform.machine() == 'aarch64'
+        deploy_vars['introspect'] = not (args.virtual or
+                                         deploy_vars['aarch64'] or
+                                         not introspect)
         deploy_vars['dns_server_args'] = ''
         deploy_vars['apex_temp_dir'] = APEX_TEMP_DIR
         deploy_vars['apex_env_file'] = os.path.basename(opnfv_env)
index 47bf083..a5e9e96 100644 (file)
@@ -7,6 +7,9 @@
 # If ha_enabled is false, there will only be one controller.
 global_params:
   ha_enabled: true
+  # introspect defaults to True, if set false the introspection process will
+  # be skipped at deploy time.
+  introspect: true
 
 deploy_options:
   # Which SDN controller to use. Valid options are 'opendaylight', 'onos',
index b2d9234..aa3d806 100644 (file)
       become_user: stack
     - name: Import inventory (baremetal)
       shell: "{{ stackrc }} && openstack overcloud node import instackenv.json"
-      when: not virtual
+      when: introspect
     - name: Introspect inventory (baremetal)
       shell: "{{ stackrc }} && openstack overcloud node introspect --all-manageable --provide"
-      when:
-        - not virtual
-        - not aarch64
+      when: introspect
     - name: Import inventory (virtual)
       shell: "{{ stackrc }} && openstack overcloud node import --provide instackenv.json"
-      when: virtual
+      when: not introspect
     - name: Set flavors
       shell: '{{ stackrc }} && openstack flavor set --property "cpu_arch"="{{ ansible_architecture }}" {{ item }}'
       with_items: