def scale_out(self, blocks=<NUM_LIT:1>):
r = []<EOL>for i in range(blocks):<EOL><INDENT>if self.provider:<EOL><INDENT>external_block_id = str(len(self.blocks))<EOL>launch_cmd = self.launch_cmd.format(block_id=external_block_id)<EOL>internal_block = self.provider.submit(launch_cmd, <NUM_LIT:1>, <NUM_LIT:1>)<EOL>logger.debug("<STR_LIT>".format(external_block_id, internal_block))<EOL>if not internal_block:<EOL><INDENT>raise(ScalingFailed(self.provider.label,<EOL>"<STR_LIT>"))<EOL><DEDENT>r.extend([external_block_id])<EOL>self.blocks[external_block_id] = internal_block<EOL><DEDENT>else:<EOL><INDENT>logger.error("<STR_LIT>")<EOL>r = None<EOL><DEDENT><DEDENT>return r<EOL>
Scales out the number of blocks by "blocks"

        Raises:
             NotImplementedError