def process_injection_file(self, client):
configuration = ipa_utils.get_yaml_config(self.inject)<EOL>if configuration.get('<STR_LIT>'):<EOL><INDENT>inject_packages = configuration['<STR_LIT>']<EOL>if not isinstance(inject_packages, list):<EOL><INDENT>inject_packages = [inject_packages]<EOL><DEDENT>for package in inject_packages:<EOL><INDENT>package_path = self.put_file(client, package)<EOL>self.install_package(client, package_path)<EOL><DEDENT><DEDENT>if configuration.get('<STR_LIT>'):<EOL><INDENT>inject_archives = configuration['<STR_LIT>']<EOL>if not isinstance(inject_archives, list):<EOL><INDENT>inject_archives = [inject_archives]<EOL><DEDENT>for archive in inject_archives:<EOL><INDENT>archive_path = self.put_file(client, archive)<EOL>self.extract_archive(client, archive_path)<EOL><DEDENT><DEDENT>if configuration.get('<STR_LIT>'):<EOL><INDENT>inject_files = configuration['<STR_LIT>']<EOL>if not isinstance(inject_files, list):<EOL><INDENT>inject_files = [inject_files]<EOL><DEDENT>for file_path in inject_files:<EOL><INDENT>self.put_file(client, file_path)<EOL><DEDENT><DEDENT>if configuration.get('<STR_LIT>'):<EOL><INDENT>execute = configuration['<STR_LIT>']<EOL>if not isinstance(execute, list):<EOL><INDENT>execute = [execute]<EOL><DEDENT>for command in execute:<EOL><INDENT>self.execute_ssh_command(client, command)<EOL><DEDENT><DEDENT>if configuration.get('<STR_LIT>'):<EOL><INDENT>install = configuration['<STR_LIT>']<EOL>if not isinstance(install, list):<EOL><INDENT>install = [install]<EOL><DEDENT>for package in install:<EOL><INDENT>self.install_package(client, package)<EOL><DEDENT><DEDENT>
Load yaml file and process injection configuration.

There are 5 injection options:

:inject_packages: an rpm path or list of rpm paths which will be
                  copied and installed on the test instance.
:inject_archives: an archive or list of archives which will
                  be copied and extracted on the test instance.
:inject_files: a file path or list of file paths which
               will be copied to the test instance.
:execute: a command or list of commands to run on the test instance.
:install: a package name or list of package names to
         install from an existing repo on the test instance.

The order of processing is as follows: inject_packages,
inject_archives, inject_files, execute, install.