ubicloud/migrate/20250825_create_kubernetes_node_objects.rb
mohi-kalantari bec04153d9 Add migration to create KubernetesNode objects based on current Vms
A new migration is added which will join the right tables to assemble
the KubernetesNode objects. It also creates strands for each of them.
2025-08-28 10:36:02 +02:00

36 lines
937 B
Ruby

# frozen_string_literal: true
Sequel.migration do
up do
DB[:kubernetes_node].insert_ignore.insert(
[:id, :vm_id, :kubernetes_cluster_id],
DB[:kubernetes_clusters_cp_vms].select(
Sequel.function(:gen_random_ubid_uuid, 621).as(:id),
:cp_vm_id,
:kubernetes_cluster_id
)
)
DB[:kubernetes_node].insert_ignore.insert(
[:id, :vm_id, :kubernetes_cluster_id, :kubernetes_nodepool_id],
DB[:kubernetes_nodepools_vms]
.join(:kubernetes_nodepool, id: :kubernetes_nodepool_id)
.select(
Sequel.function(:gen_random_ubid_uuid, 621).as(:id),
:vm_id,
:kubernetes_cluster_id,
:kubernetes_nodepool_id
)
)
DB[:strand].insert_ignore.insert(
[:id, :prog, :label],
DB[:kubernetes_node]
.select(
:id,
"Kubernetes::KubernetesNodeNexus",
"wait"
)
)
end
end