def createInstance(self, instance_name, flavor_id, image_id):
        if not instance_name.endswith("-gns3"):
            instance_name += "-gns3"
        # TODO: Add a keys_dir to projectSettings
        ca_dir = os.path.join(self._main_window.projectSettings()["project_files_dir"], "keys")

        builder = CloudBuilder(self, self._provider, ca_dir)
        builder.startAtCreate(instance_name, flavor_id, image_id)
        builder.instanceCreated.connect(self._main_window.add_instance_to_project)
        builder.instanceCreated.connect(CloudInstances.instance().add_instance)
        builder.instanceIdExists.connect(self._associateBuilderWithInstance)
        builder.instanceHasIP.connect(CloudInstances.instance().update_host_for_instance)
        builder.buildComplete.connect(self._instanceBuilt)
        builder.start()
        return builder
    def _rebuild_instances(self, instances):
        # TODO: Add a keys_dir to projectSettings
        ca_dir = os.path.join(self._main_window.projectSettings()["project_files_dir"], "keys")

        for instance in instances:
            log.debug('CloudInspectorView._rebuild_instances {}'.format(instance.name))
            builder = CloudBuilder(self, self._provider, ca_dir)
            cloud_instance = CloudInstances.instance().get_instance(instance.id)
            public_key = cloud_instance.public_key
            private_key = cloud_instance.private_key
            # Fake a KeyPair object because we don't store it.
            keypair = namedtuple('KeyPair', ['private_key', 'public_key'])(private_key, public_key)
            builder.startAtSetup(instance, keypair)
            builder.instanceCreated.connect(self._main_window.add_instance_to_project)
            builder.instanceCreated.connect(CloudInstances.instance().add_instance)
            builder.instanceIdExists.connect(self._associateBuilderWithInstance)
            builder.instanceHasIP.connect(CloudInstances.instance().update_host_for_instance)
            builder.buildComplete.connect(self._instanceBuilt)
            builder.start()
            return builder
Ejemplo n.º 3
0
    def _rebuild_instances(self, instances):
        # TODO: Add a keys_dir to projectSettings
        ca_dir = os.path.join(
            self._main_window.projectSettings()["project_files_dir"], "keys")

        for instance in instances:
            log.debug('CloudInspectorView._rebuild_instances {}'.format(
                instance.name))
            builder = CloudBuilder(self, self._provider, ca_dir)
            cloud_instance = CloudInstances.instance().get_instance(
                instance.id)
            public_key = cloud_instance.public_key
            private_key = cloud_instance.private_key
            # Fake a KeyPair object because we don't store it.
            keypair = namedtuple('KeyPair',
                                 ['private_key', 'public_key'])(private_key,
                                                                public_key)
            builder.startAtSetup(instance, keypair)
            builder.instanceCreated.connect(
                self._main_window.add_instance_to_project)
            builder.instanceCreated.connect(
                CloudInstances.instance().add_instance)
            builder.instanceIdExists.connect(
                self._associateBuilderWithInstance)
            builder.instanceHasIP.connect(
                CloudInstances.instance().update_host_for_instance)
            builder.buildComplete.connect(self._instanceBuilt)
            builder.start()
            return builder
Ejemplo n.º 4
0
    def createInstance(self, instance_name, flavor_id, image_id):
        if not instance_name.endswith("-gns3"):
            instance_name += "-gns3"
        # TODO: Add a keys_dir to projectSettings
        ca_dir = os.path.join(
            self._main_window.projectSettings()["project_files_dir"], "keys")

        builder = CloudBuilder(self, self._provider, ca_dir)
        builder.startAtCreate(instance_name, flavor_id, image_id)
        builder.instanceCreated.connect(
            self._main_window.add_instance_to_project)
        builder.instanceCreated.connect(CloudInstances.instance().add_instance)
        builder.instanceIdExists.connect(self._associateBuilderWithInstance)
        builder.instanceHasIP.connect(
            CloudInstances.instance().update_host_for_instance)
        builder.buildComplete.connect(self._instanceBuilt)
        builder.start()
        return builder