def create_new_node(self):
        logger.info("Launching new ec2 instance")
        ec2_instance = self.launch()

        if self.is_active:
            self.deployment.set_active_node(
                'ec2', env.node_name, ec2_instance)
        else:
            self.deployment.set_pending_node(
                'ec2', env.node_name, ec2_instance)

        # Build EBS volumes, unless explicitly told not to.
        ebs_debug = self.ebs_confs.get('debug', {})
        if not ebs_debug.get('attach_ebs_volumes', True):
            logger.warning("Debug ebs_conf found")
            logger.warning("Not attaching configured EBS volumes.")

            return self.get_node()

        vol_confs = self.ebs_confs.get('vols', {})
        self.attached_volumes = self._attach_ebs_vols(
            ec2_instance_id=ec2_instance.id,
            vol_confs=vol_confs,
            seed_ebs_snapshots=self.seed_ebs_snapshots)

        # TODO: Find a way to move this fstab stuff to the normal deploy
        # Otherwise, we're reducing our ability to parallelize node
        # creation. If we use new fabric to actually parallelize the
        # create_new_node deploy process, then this isn't actually a big
        # deal, though.
        node = self.get_node()
        self.wait_until_created(node)

        # Ensure we're running commands against our spanking-new instance
        node.refresh_boto_instance()
        env.host_string = node.boto_instance.public_dns_name

        self._ensure_ebs_vols_mounted(ec2_instance.id, vol_confs)

        return self.get_node()
Return the router for this gateway. If the router hasn't been fixed,
dataset/ETHPy150Open winhamwr/neckbeard/neckbeard/cloud_provisioners/aws/ec2.py/Ec2NodeDeployment.create_new_node--crossover with--dataset/ETHPy150Open haxsaw/actuator/src/actuator/provisioners/openstack/resources.py/RouterGateway.get_router