Exemplo n.º 1
0
    def BuildHooksEnv(self):
        """Build hooks env.

    This runs on master, primary and secondary nodes of the instance.

    """
        instance = self._migrater.instance
        source_node_uuid = instance.primary_node
        target_node_uuid = self._migrater.target_node_uuid
        env = BuildInstanceHookEnvByObject(self, instance)
        env.update(
            {
                "MIGRATE_LIVE": self._migrater.live,
                "MIGRATE_CLEANUP": self.op.cleanup,
                "OLD_PRIMARY": self.cfg.GetNodeName(source_node_uuid),
                "NEW_PRIMARY": self.cfg.GetNodeName(target_node_uuid),
                "ALLOW_RUNTIME_CHANGES": self.op.allow_runtime_changes,
            }
        )

        if instance.disk_template in constants.DTS_INT_MIRROR:
            secondary_nodes = self.cfg.GetInstanceSecondaryNodes(instance.uuid)
            env["OLD_SECONDARY"] = self.cfg.GetNodeName(secondary_nodes[0])
            env["NEW_SECONDARY"] = self.cfg.GetNodeName(source_node_uuid)
        else:
            env["OLD_SECONDARY"] = env["NEW_SECONDARY"] = ""

        return env
Exemplo n.º 2
0
  def BuildHooksEnv(self):
    """Build hooks env.

    This runs on master, primary and secondary nodes of the instance.

    """
    instance = self._migrater.instance
    source_node_uuid = instance.primary_node
    target_node_uuid = self._migrater.target_node_uuid
    env = BuildInstanceHookEnvByObject(self, instance)
    env.update({
      "MIGRATE_LIVE": self._migrater.live,
      "MIGRATE_CLEANUP": self.op.cleanup,
      "OLD_PRIMARY": self.cfg.GetNodeName(source_node_uuid),
      "NEW_PRIMARY": self.cfg.GetNodeName(target_node_uuid),
      "ALLOW_RUNTIME_CHANGES": self.op.allow_runtime_changes,
      })

    disks = self.cfg.GetInstanceDisks(instance.uuid)
    if utils.AnyDiskOfType(disks, constants.DTS_INT_MIRROR):
      secondary_nodes = self.cfg.GetInstanceSecondaryNodes(instance.uuid)
      env["OLD_SECONDARY"] = self.cfg.GetNodeName(secondary_nodes[0])
      env["NEW_SECONDARY"] = self.cfg.GetNodeName(source_node_uuid)
    else:
      env["OLD_SECONDARY"] = env["NEW_SECONDARY"] = ""

    return env
Exemplo n.º 3
0
    def BuildHooksEnv(self):
        """Build hooks env.

    This runs on master, primary and secondary nodes of the instance.

    """
        return BuildInstanceHookEnvByObject(self, self.instance)
Exemplo n.º 4
0
  def BuildHooksEnv(self):
    """Build hooks env.

    This runs on master, primary and secondary nodes of the instance.

    """
    instance = self._migrater.instance
    source_node_uuid = instance.primary_node
    target_node_uuid = self._migrater.target_node_uuid
    env = {
      "IGNORE_CONSISTENCY": self.op.ignore_consistency,
      "SHUTDOWN_TIMEOUT": self.op.shutdown_timeout,
      "OLD_PRIMARY": self.cfg.GetNodeName(source_node_uuid),
      "NEW_PRIMARY": self.cfg.GetNodeName(target_node_uuid),
      "FAILOVER_CLEANUP": self.op.cleanup,
      }

    disks = self.cfg.GetInstanceDisks(instance.uuid)
    if utils.AnyDiskOfType(disks, constants.DTS_INT_MIRROR):
      secondary_nodes = self.cfg.GetInstanceSecondaryNodes(instance.uuid)
      env["OLD_SECONDARY"] = self.cfg.GetNodeName(secondary_nodes[0])
      env["NEW_SECONDARY"] = self.cfg.GetNodeName(source_node_uuid)
    else:
      env["OLD_SECONDARY"] = env["NEW_SECONDARY"] = ""

    env.update(BuildInstanceHookEnvByObject(self, instance))

    return env
Exemplo n.º 5
0
    def BuildHooksEnv(self):
        """Build hooks env.

    This runs on master, primary and secondary nodes of the instance.

    """
        env = BuildInstanceHookEnvByObject(self, self.instance)
        env["TIMEOUT"] = self.op.timeout
        return env
Exemplo n.º 6
0
    def BuildHooksEnv(self):
        """Build hooks env.

    This runs on master, primary and secondary nodes of the instance.

    """
        env = BuildInstanceHookEnvByObject(self, self.instance)
        env["INSTANCE_NEW_NAME"] = self.op.new_name
        return env
Exemplo n.º 7
0
  def BuildHooksEnv(self):
    """Build hooks env.

    This runs on master, primary and secondary nodes of the instance.

    """
    env = BuildInstanceHookEnvByObject(self, self.instance,
                                       secondary_nodes=self.secondary_nodes,
                                       disks=self.inst_disks)
    env["SHUTDOWN_TIMEOUT"] = self.op.shutdown_timeout
    return env
Exemplo n.º 8
0
    def BuildHooksEnv(self):
        """Build hooks env.

    This runs on master, primary and target nodes of the instance.

    """
        env = {
            "TARGET_NODE": self.op.target_node,
            "SHUTDOWN_TIMEOUT": self.op.shutdown_timeout,
        }
        env.update(BuildInstanceHookEnvByObject(self, self.instance))
        return env
Exemplo n.º 9
0
    def BuildHooksEnv(self):
        """Build hooks env.

    This runs on master, primary and secondary nodes of the instance.

    """
        env = {
            "FORCE": self.op.force,
        }

        env.update(BuildInstanceHookEnvByObject(self, self.instance))

        return env
Exemplo n.º 10
0
    def BuildHooksEnv(self):
        """Build hooks env.

    """
        assert self.target_uuids

        env = {
            "TARGET_GROUPS": " ".join(self.target_uuids),
        }

        env.update(BuildInstanceHookEnvByObject(self, self.instance))

        return env
Exemplo n.º 11
0
    def BuildHooksEnv(self):
        """Build hooks env.

    This runs on master, primary and secondary nodes of the instance.

    """
        env = {
            "IGNORE_SECONDARIES": self.op.ignore_secondaries,
            "REBOOT_TYPE": self.op.reboot_type,
            "SHUTDOWN_TIMEOUT": self.op.shutdown_timeout,
        }

        env.update(BuildInstanceHookEnvByObject(self, self.instance))

        return env
Exemplo n.º 12
0
    def BuildHooksEnv(self):
        """Build hooks env.

    This will run on the master, primary node and target node.

    """
        env = {
            "EXPORT_MODE": self.op.mode,
            "EXPORT_NODE": self.op.target_node,
            "EXPORT_DO_SHUTDOWN": self.op.shutdown,
            "SHUTDOWN_TIMEOUT": self.op.shutdown_timeout,
            # TODO: Generic function for boolean env variables
            "REMOVE_INSTANCE": str(bool(self.op.remove_instance)),
        }

        env.update(BuildInstanceHookEnvByObject(self, self.instance))

        return env