def config_download_export(clients, plan, config_type): """Export a given config. :param clients: application client object. :type clients: Object :param plan: Plan name. :type plan: String :param config_type: List of config type options. :type config_type: List :returns: string """ context = clients.tripleoclient.create_mistral_context() container_config = '{}-config'.format(plan) config.GetOvercloudConfig( container=plan, config_type=config_type, container_config=container_config).run(context=context) print('Config Download export complete for {}. Creating temp URL.'.format( plan)) return swift_utils.get_temp_url( clients.tripleoclient.object_store, container=container_config, object_name='{}.tar.gz'.format(container_config))
def test_run(self, mock_create_tarball, mock_config, mock_orchestration_client, mock_swift_download, mock_swift_delete): heat = mock.MagicMock() heat.stacks.get.return_value = mock.MagicMock( stack_name='stack', id='stack_id') mock_orchestration_client.return_value = heat mock_config.return_value = '/tmp/fake-path' action = config.GetOvercloudConfig(self.plan, '/tmp/fake-path', self.config_container) action.run(self.ctx) mock_swift_download.assert_called_once_with(self.swift, self.config_container, '/tmp/fake-path') mock_swift_delete.assert_called_once_with(self.swift, self.config_container) self.assertEqual(2, self.swift.put_object.call_count) self.assertEqual(mock.call( 'config-overcloud', 'config-overcloud.tar.gz', self.swift.put_object.call_args_list[1][0][2]), # closed file call self.swift.put_object.call_args_list[1]) mock_create_tarball.assert_called_once() self.assertEqual(dict(excludes=['.tox', '*.pyc', '*.pyo']), mock_create_tarball.call_args[1])
def test_run(self, mock_create_tarball, mock_config, mock_orchestration_client): heat = mock.MagicMock() heat.stacks.get.return_value = mock.MagicMock(stack_name='stack', id='stack_id') mock_orchestration_client.return_value = heat mock_config.return_value = '/tmp/fake-path' action = config.GetOvercloudConfig(self.plan, '/tmp', self.config_container) action.run(self.ctx) self.swift.put_object.assert_called_once() mock_create_tarball.assert_called_once()