Add param for ODL password into overcloudrc 11/59811/3
authorTim Rozet <trozet@redhat.com>
Fri, 13 Jul 2018 20:22:30 +0000 (16:22 -0400)
committerTim Rozet <trozet@redhat.com>
Wed, 18 Jul 2018 16:19:36 +0000 (12:19 -0400)
Recent changes upstream have removed the default 'admin' ODL password
and now password is randomly generated:

https://review.openstack.org/#/c/578505/

So in OPNFV we now store the password in overcloudrc as
SDN_CONTROLLER_PASSWORD variable.

Also includes minor fixes to unittests.

Change-Id: Iabe7e4f902442c80af99ba1603a3927cf13d0393
Signed-off-by: Tim Rozet <trozet@redhat.com>
apex/tests/test_apex_overcloud_deploy.py
lib/ansible/playbooks/post_deploy_undercloud.yml

index 57d74bd..b598e40 100644 (file)
@@ -160,7 +160,7 @@ class TestOvercloudDeploy(unittest.TestCase):
         assert_in('/usr/share/openstack-tripleo-heat-templates/environments/'
                   'storage-environment.yaml', result_cmd)
         assert_in('/usr/share/openstack-tripleo-heat-templates/environments'
-                  '/services-docker/neutron-opendaylight.yaml', result_cmd)
+                  '/services/neutron-opendaylight.yaml', result_cmd)
         ds['deploy_options']['os_version'] = 'master'
         result_cmd = create_deploy_cmd(ds, ns, inv, '/tmp', virt)
         assert_in('/usr/share/openstack-tripleo-heat-templates/environments'
@@ -673,6 +673,6 @@ class TestOvercloudDeploy(unittest.TestCase):
         output = get_docker_sdn_file(ds_opts)
         self.assertEqual(output,
                          ('/usr/share/openstack-tripleo-heat-templates'
-                          '/environments/services-docker/neutron-opendaylight'
+                          '/environments/services/neutron-opendaylight'
                           '.yaml')
                          )
index 24be1de..52057dd 100644 (file)
       become: yes
       become_user: stack
       with_items: "{{ overcloudrc_files }}"
+    - name: Grab Heat Environment variables
+      shell: "{{ stackrc }} && openstack stack environment show overcloud -f json"
+      register: heat_env
+      become: yes
+      become_user: stack
+    - name: Write SDN controller password to overcloudrc for ODL
+      lineinfile:
+        line: "export SDN_CONTROLLER_PASSWORD={{(heat_env.stdout|from_json)['parameter_defaults']['OpenDaylightPassword']}}"
+        regexp: 'SDN_CONTROLLER_PASSWORD'
+        path: "/home/stack/{{ item }}"
+      when: sdn == 'opendaylight'
+      become: yes
+      become_user: stack
+      with_items: "{{ overcloudrc_files }}"
     - name: Register OS Region
       shell: "{{ overcloudrc }} && openstack endpoint list -c Region -f json"
       register: region