From 777684dd8fe420c12e2b4ee382df41b279fad165 Mon Sep 17 00:00:00 2001 From: Alejandro Mosteiro Date: Thu, 19 Dec 2024 20:54:15 +0100 Subject: [PATCH 1/3] OpenNebula/engineering#156: Add Lithops Service Template Edit Lithops appliance code to support the new ONE backend, from branch f-569 in OpenNebula/lithops repository Add appliance metadata for Service Template, MinIO and Lithops Signed-off-by: Alejandro Mosteiro --- .../01076f79-94be-4c8f-b57f-dec96d5d15a4.yaml | 74 +++++++++ .../32450c33-3e40-41a3-a9df-03a3f0a614c1.yaml | 70 +++++++++ .../651415b2-b890-4339-9ed6-ecd6c595321c.yaml | 141 ++++++++++++++++++ 3 files changed, 285 insertions(+) create mode 100644 appliances/LithopsService/01076f79-94be-4c8f-b57f-dec96d5d15a4.yaml create mode 100644 appliances/LithopsService/32450c33-3e40-41a3-a9df-03a3f0a614c1.yaml create mode 100644 appliances/LithopsService/651415b2-b890-4339-9ed6-ecd6c595321c.yaml diff --git a/appliances/LithopsService/01076f79-94be-4c8f-b57f-dec96d5d15a4.yaml b/appliances/LithopsService/01076f79-94be-4c8f-b57f-dec96d5d15a4.yaml new file mode 100644 index 0000000..c9436a0 --- /dev/null +++ b/appliances/LithopsService/01076f79-94be-4c8f-b57f-dec96d5d15a4.yaml @@ -0,0 +1,74 @@ +--- +name: Lithops Service - Client +version: 6.10.0-2-20241018 +publisher: OpenNebula Systems +description: |- + Appliance with preinstalled [Lithops](https://lithops-cloud.github.io/docs/). + + See the dedicated [documentation](https://github.com/OpenNebula/marketplace-community/wiki/lithops_intro). +short_description: Appliance with preinstalled Lithops for KVM hosts +tags: +- lithops +- big-data +- analytics +- ubuntu +- service +type: VMTEMPLATE +format: qcow2 +creation_time: 1734631373 +os-id: Ubuntu +os-release: '22.04 LTS' +os-arch: x86_64 +hypervisor: KVM +opennebula_version: 6.8, 6.10 +opennebula_template: + context: + network: 'YES' + fallback_dns: '$FALLBACK_DNS' + fallback_gw: '$FALLBACK_GW' + network: 'YES' + oneapp_lithops_backend: '$ONEAPP_LITHOPS_BACKEND' + oneapp_lithops_standalone: 'NO' + oneapp_lithops_storage: '$ONEAPP_LITHOPS_STORAGE' + oneapp_minio_access_key_id: '$ONEAPP_MINIO_ACCESS_KEY_ID"' + oneapp_minio_bucket: '$ONEAPP_MINIO_BUCKET' + oneapp_minio_endpoint: '$ONEAPP_MINIO_ENDPOINT' + oneapp_minio_endpoint_cert: '$ONEAPP_MINIO_ENDPOINT_CERT' + oneapp_minio_secret_access_key: '$ONEAPP_MINIO_SECRET_ACCESS_KEY' + oneapp_onebe_autoscale: '$ONEAPP_ONEBE_AUTOSCALE' + oneapp_onebe_docker_password: '$ONEAPP_ONEBE_DOCKER_PASSWORD' + oneapp_onebe_docker_user: '$ONEAPP_ONEBE_DOCKER_USER' + oneapp_onebe_jupyter_password: '$ONEAPP_ONEBE_JUPYTER_PASSWORD' + oneapp_onebe_kubecfg_path: '$ONEAPP_ONEBE_KUBECFG_PATH' + oneapp_onebe_runtime_cpu: '$ONEAPP_ONEBE_RUNTIME_CPU' + oneapp_onebe_runtime_memory: '$ONEAPP_ONEBE_RUNTIME_MEMORY' + report_ready: 'YES' + start_script_base64: "bWtkaXIgL21udC9jb250ZXh0Cm1vdW50IC9kZXYvY2Ryb20gL21udC9jb250ZXh0" + ssh_public_key: "$USER[SSH_PUBLIC_KEY]" + token: 'YES' + cpu: '1' + graphics: + listen: 0.0.0.0 + type: vnc + inputs_order: >- + ONEAPP_LITHOPS_BACKEND,ONEAPP_LITHOPS_STORAGE,ONEAPP_MINIO_ENDPOINT,ONEAPP_MINIO_ACCESS_KEY_ID,ONEAPP_MINIO_SECRET_ACCESS_KEY,ONEAPP_MINIO_BUCKET,ONEAPP_MINIO_ENDPOINT_CERT,ONEAPP_ONEBE_KUBECFG_PATH,ONEAPP_ONEBE_DOCKER_USER,ONEAPP_ONEBE_DOCKER_PASSWORD,ONEAPP_ONEBE_JUPYTER_PASSWORD,ONEAPP_ONEBE_AUTOSCALE + memory: '768' + os: + arch: x86_64 + logo: images/logos/lithops.png + user_inputs: + oneapp_lithops_backend: "O|text|Compute backend| |localhost" + oneapp_lithops_storage: "O|text|Storage backend| |localhost" + oneapp_minio_endpoint: "O|text|MinIO endpoint URL| |" + oneapp_minio_access_key_id: "O|text|MinIO account user access key| |" + oneapp_minio_secret_access_key: "O|text|MinIO account user secret access key| |" + oneapp_minio_bucket: "O|text|MinIO bucket name| |" + oneapp_minio_endpoint_cert: "O|text64|CA certificate for MinIO connection| |" + oneapp_onebe_docker_user: "M|text|Docker user for Lithops||" + oneapp_onebe_docker_password: "M|password|Docker user password for Lithops||" + oneapp_onebe_kubecfg_path: "O|text|Path where kubeconfig file will be stored||" + oneapp_onebe_jupyter_password: "M|password|Password for Jupyter access||" + oneapp_onebe_autoscale: "0|text|Lithops backend autoscale option||all" +logo: lithops.png +disks: +- "Service Lithops" \ No newline at end of file diff --git a/appliances/LithopsService/32450c33-3e40-41a3-a9df-03a3f0a614c1.yaml b/appliances/LithopsService/32450c33-3e40-41a3-a9df-03a3f0a614c1.yaml new file mode 100644 index 0000000..b2c87ce --- /dev/null +++ b/appliances/LithopsService/32450c33-3e40-41a3-a9df-03a3f0a614c1.yaml @@ -0,0 +1,70 @@ +--- +name: Lithops Service - MinIO +version: 6.10.0-2-20241018 +publisher: OpenNebula Systems +description: |- + Appliance with preinstalled [MinIO](https://min.io/docs/minio/linux/index.html). + + See the dedicated [documentation](https://github.com/OpenNebula/one-apps/wiki/minio_quick). +short_description: Appliance with preinstalled MinIO server for KVM hosts +tags: +- minio +- storage +- ubuntu +- service +format: qcow2 +creation_time: 1734631373 +os-id: Ubuntu +os-release: 22.04 LTS +os-arch: x86_64 +hypervisor: KVM +opennebula_version: 6.4, 6.8, 6.10 +opennebula_template: + context: + fallback_gw: "$FALLBACK_GW" + fallback_dns: "$FALLBACK_DNS" + network: 'YES' + oneapp_minio_hostname: "$ONEAPP_MINIO_HOSTNAME" + oneapp_minio_multi: "YES" + oneapp_minio_opts: "$ONEAPP_MINIO_OPTS" + oneapp_minio_root_password: "$ONEAPP_MINIO_ROOT_PASSWORD" + oneapp_minio_root_user: "$ONEAPP_MINIO_ROOT_USER" + oneapp_minio_tls_enabled: "$ONEAPP_MINIO_TLS_ENABLED" + oneapp_minio_tls_cert: "$ONEAPP_MINIO_TLS_CERT" + oneapp_minio_tls_key: "$ONEAPP_MINIO_TLS_KEY" + report_ready: "YES" + ssh_public_key: "$USER[SSH_PUBLIC_KEY]" + cpu: '1' + graphics: + listen: 0.0.0.0 + type: vnc + inputs_order: >- + ONEAPP_MINIO_HOSTNAME,ONEAPP_MINIO_ROOT_USER,ONEAPP_MINIO_ROOT_PASSWORD,ONEAPP_MINIO_OPTS,ONEAPP_MINIO_TLS_ENABLED,ONEAPP_MINIO_TLS_CERT,ONEAPP_MINIO_TLS_KEY + memory: '2048' + os: + arch: x86_64 + logo: images/logos/minio.png + user_inputs: + oneapp_minio_hostname: >- + O|text|MinIO hostname for TLS certificate| |localhost,minio-*.example.net + oneapp_minio_opts: >- + O|text|Additional commandline options for MinIO server| |--console-address + :9001 + oneapp_minio_root_password: O|password|Mv binIO root user password for + MinIO server + oneapp_minio_root_user: O|text|MinIO root user for MinIO server| |myminioadmin + oneapp_minio_tls_enabled: "M|boolean|Enable TLS configuration| |YES" + oneapp_minio_tls_cert: O|text64|MinIO TLS certificate (.crt)| | + oneapp_minio_tls_key: O|text64|MinIO TLS key (.key)| | +logo: minio.png +images: +- name: service_MinIO + url: >- + https://d24fmfybwxpuhu.cloudfront.net/service_MinIO-6.10.0-3-20241018.qcow2 + type: OS + dev_prefix: vd + driver: qcow2 + size: 2361393152 + checksum: + md5: 300fc063bc34bebe682acd9267db5354 + sha256: ab9434a7fe55cb7255f450b8e5b754978f5e747859de2e67713eb89b34c0f2fb \ No newline at end of file diff --git a/appliances/LithopsService/651415b2-b890-4339-9ed6-ecd6c595321c.yaml b/appliances/LithopsService/651415b2-b890-4339-9ed6-ecd6c595321c.yaml new file mode 100644 index 0000000..59ce156 --- /dev/null +++ b/appliances/LithopsService/651415b2-b890-4339-9ed6-ecd6c595321c.yaml @@ -0,0 +1,141 @@ +--- +name: Lithops Service Template +version: 6.10.0-2-20241018 +publisher: OpenNebula Systems +description: |- + Lithops Service deployment using OneKE as compute backend and MinIO as storage backend, orchestrated by + [OneFlow](https://docs.opennebula.io/stable/management_and_operations/multivm_service_management/appflow_elasticity.html) + + Requires + [OneFlow](https://docs.opennebula.io/stable/management_and_operations/multivm_service_management/overview.html) + and + [OneGate](https://docs.opennebula.io/stable/management_and_operations/multivm_service_management/onegate_usage.html) + OpenNebula components. + + See the dedicated [documentation](https://github.com/OpenNebula/marketplace-community/wiki/lithops-service). + + Based on VM templates + - [Lithops-Service](/appliance/01076f79-94be-4c8f-b57f-dec96d5d15a4) + - [MinIO Multi-Node](32450c33-3e40-41a3-a9df-03a3f0a614c1) + - [OneKE 1.29 VNF](https://marketplace.opennebula.io/appliance/883d974f-f30e-4fc8-aa06-e1af2a020e49) + - [OneKE 1.29](https://marketplace.opennebula.io/appliance/d6278d1b-66a4-4188-acd0-e2628296046e) +short_description: Multi-Node MinIO deployment for KVM hosts, orchestrated by OneFlow +tags: +- lithops +- computing +- big-data +- analytics +- ubuntu +- service +creation_time: 1734631373 +os-id: Ubuntu +os-release: '22.04 LTS' +os-arch: x86_64 +hypervisor: KVM +opennebula_version: 6.8, 6.10 +type: 'SERVICE_TEMPLATE' +roles: + vnf: 'OneKE 1.29 VNF' + master: 'OneKE 1.29' + worker: 'OneKE 1.29' + minio: 'MinIO Multi-Node' + lithops: 'Lithops-Service' +opennebula_template: '{ + "name": "Service Lithops", + "deployment": "straight", + "description": "", + "roles": [ + { + "cardinality": 1, + "name": "vnf", + "min_vms": 1, + "cooldown": 120, + "vm_template_contents": "NIC = [\n NAME = \"_NIC0\",\n NETWORK_ID = \"$Public\" ]\nNIC = [\n NAME = \"_NIC1\",\n NETWORK_ID = \"$Private\" ]\n\nONEAPP_VROUTER_ETH0_VIP0 = \"$ONEAPP_VROUTER_ETH0_VIP0\"\nONEAPP_VROUTER_ETH1_VIP0 = \"$ONEAPP_VROUTER_ETH1_VIP0\"\nONEAPP_VNF_HAPROXY_INTERFACES = \"$ONEAPP_VNF_HAPROXY_INTERFACES\"\nONEAPP_VNF_HAPROXY_REFRESH_RATE = \"$ONEAPP_VNF_HAPROXY_REFRESH_RATE\"\nONEAPP_VNF_HAPROXY_LB0_IP = \"\"\nONEAPP_VNF_HAPROXY_LB0_PORT = \"$ONEAPP_VNF_HAPROXY_LB0_PORT\"\nONEAPP_VNF_HAPROXY_LB1_IP = \"\"\nONEAPP_VNF_HAPROXY_LB1_PORT = \"$ONEAPP_VNF_HAPROXY_LB1_PORT\"\nONEAPP_VNF_HAPROXY_LB2_IP = \"\"\nONEAPP_VNF_HAPROXY_LB2_PORT = \"$ONEAPP_VNF_HAPROXY_LB2_PORT\"\nONEAPP_VNF_HAPROXY_LB3_IP = \"\"\nONEAPP_VNF_HAPROXY_LB3_PORT = \"$ONEAPP_VNF_HAPROXY_LB3_PORT\"\nONEAPP_VNF_DNS_ENABLED = \"$ONEAPP_VNF_DNS_ENABLED\"\nONEAPP_VNF_DNS_INTERFACES = \"$ONEAPP_VNF_DNS_INTERFACES\"\nONEAPP_VNF_DNS_NAMESERVERS = \"$ONEAPP_VNF_DNS_NAMESERVERS\"\nONEAPP_VNF_NAT4_ENABLED = \"$ONEAPP_VNF_NAT4_ENABLED\"\nONEAPP_VNF_NAT4_INTERFACES_OUT = \"$ONEAPP_VNF_NAT4_INTERFACES_OUT\"\nONEAPP_VNF_ROUTER4_ENABLED = \"$ONEAPP_VNF_ROUTER4_ENABLED\"\nONEAPP_VNF_ROUTER4_INTERFACES = \"$ONEAPP_VNF_ROUTER4_INTERFACES\"" + }, + { + "name": "master", + "cardinality": 1, + "parents": [ + "vnf" + ], + "min_vms": 1, + "cooldown": 120, + "vm_template_contents": "NIC = [\n NAME = \"_NIC1\",\n NETWORK_ID = \"$Private\" ]\n\nFALLBACK_GW = \"${vnf.TEMPLATE.CONTEXT.ETH1_IP}\"\nFALLBACK_DNS = \"${vnf.TEMPLATE.CONTEXT.ETH1_IP}\"\nONEAPP_VROUTER_ETH0_VIP0 = \"$ONEAPP_VROUTER_ETH0_VIP0\"\nONEAPP_VROUTER_ETH1_VIP0 = \"$ONEAPP_VROUTER_ETH1_VIP0\"\nONEAPP_RKE2_SUPERVISOR_EP = \"$ONEAPP_RKE2_SUPERVISOR_EP\"\nONEAPP_K8S_CONTROL_PLANE_EP = \"$ONEAPP_K8S_CONTROL_PLANE_EP\"\nONEAPP_K8S_EXTRA_SANS = \"$ONEAPP_K8S_EXTRA_SANS\"\nONEAPP_K8S_MULTUS_ENABLED = \"$ONEAPP_K8S_MULTUS_ENABLED\"\nONEAPP_K8S_MULTUS_CONFIG = \"$ONEAPP_K8S_MULTUS_CONFIG\"\nONEAPP_K8S_CNI_PLUGIN = \"$ONEAPP_K8S_CNI_PLUGIN\"\nONEAPP_K8S_CNI_CONFIG = \"$ONEAPP_K8S_CNI_CONFIG\"\nONEAPP_K8S_CILIUM_RANGE = \"$ONEAPP_K8S_CILIUM_RANGE\"\nONEAPP_K8S_LONGHORN_ENABLED = \"$ONEAPP_K8S_LONGHORN_ENABLED\"\nONEAPP_K8S_METALLB_ENABLED = \"$ONEAPP_K8S_METALLB_ENABLED\"\nONEAPP_K8S_METALLB_CONFIG = \"$ONEAPP_K8S_METALLB_CONFIG\"\nONEAPP_K8S_METALLB_RANGE = \"$ONEAPP_K8S_METALLB_RANGE\"\nONEAPP_K8S_TRAEFIK_ENABLED = \"$ONEAPP_K8S_TRAEFIK_ENABLED\"\nONEAPP_VNF_HAPROXY_LB0_IP = \"\"\nONEAPP_VNF_HAPROXY_LB0_PORT = \"$ONEAPP_VNF_HAPROXY_LB0_PORT\"\nONEAPP_VNF_HAPROXY_LB1_IP = \"\"\nONEAPP_VNF_HAPROXY_LB1_PORT = \"$ONEAPP_VNF_HAPROXY_LB1_PORT\"\nONEAPP_VNF_DNS_ENABLED = \"$ONEAPP_VNF_DNS_ENABLED\"" + }, + { + "name": "worker", + "cardinality": 1, + "parents": [ + "vnf" + ], + "cooldown": 120, + "vm_template_contents": "NIC = [\n NAME = \"_NIC1\",\n NETWORK_ID = \"$Private\" ]\n\nFALLBACK_GW = \"${vnf.TEMPLATE.CONTEXT.ETH1_IP}\"\nFALLBACK_DNS = \"${vnf.TEMPLATE.CONTEXT.ETH1_IP}\"\nONEAPP_VROUTER_ETH0_VIP0 = \"$ONEAPP_VROUTER_ETH0_VIP0\"\nONEAPP_VROUTER_ETH1_VIP0 = \"$ONEAPP_VROUTER_ETH1_VIP0\"\nONEAPP_RKE2_SUPERVISOR_EP = \"$ONEAPP_RKE2_SUPERVISOR_EP\"\nONEAPP_K8S_CONTROL_PLANE_EP = \"$ONEAPP_K8S_CONTROL_PLANE_EP\"\nONEAPP_K8S_MULTUS_ENABLED = \"$ONEAPP_K8S_MULTUS_ENABLED\"\nONEAPP_K8S_CNI_PLUGIN = \"$ONEAPP_K8S_CNI_PLUGIN\"\nONEAPP_K8S_LONGHORN_ENABLED = \"$ONEAPP_K8S_LONGHORN_ENABLED\"\nONEAPP_K8S_METALLB_ENABLED = \"$ONEAPP_K8S_METALLB_ENABLED\"\nONEAPP_K8S_TRAEFIK_ENABLED = \"$ONEAPP_K8S_TRAEFIK_ENABLED\"\nONEAPP_VNF_HAPROXY_LB0_PORT = \"$ONEAPP_VNF_HAPROXY_LB0_PORT\"\nONEAPP_VNF_HAPROXY_LB1_PORT = \"$ONEAPP_VNF_HAPROXY_LB1_PORT\"\nONEAPP_VNF_HAPROXY_LB2_IP = \"\"\nONEAPP_VNF_HAPROXY_LB2_PORT = \"$ONEAPP_VNF_HAPROXY_LB2_PORT\"\nONEAPP_VNF_HAPROXY_LB3_IP = \"\"\nONEAPP_VNF_HAPROXY_LB3_PORT = \"$ONEAPP_VNF_HAPROXY_LB3_PORT\"\nONEAPP_VNF_DNS_ENABLED = \"$ONEAPP_VNF_DNS_ENABLED\"" + }, + { + "name": "minio", + "cardinality": 1, + "parents": [ + "vnf" + ], + "vm_template_contents": "NIC = [\n NAME = \"_NIC1\",\n NETWORK_ID = \"$Private\" ]\n\nFALLBACK_GW = \"${vnf.TEMPLATE.CONTEXT.ETH1_IP}\"\nFALLBACK_DNS = \"${vnf.TEMPLATE.CONTEXT.ETH1_IP}\"\nONEAPP_MINIO_ROOT_USER=\"$ONEAPP_MINIO_ROOT_USER\"\nONEAPP_MINIO_ROOT_PASSWORD=\"$ONEAPP_MINIO_ROOT_PASSWORD\"\nONEAPP_MINIO_HOSTNAME=\"minio.opennebula.local\"\nONEAPP_MINIO_TLS_ENABLED=\"NO\"" + }, + { + "name": "lithops", + "cardinality": 1, + "parents": [ + "vnf", + "master", + "minio" + ], + "vm_template_contents": "NIC = [\n NAME = \"_NIC0\",\n NETWORK_ID = \"$Private\" ]\n\nFALLBACK_GW = \"${vnf.TEMPLATE.CONTEXT.ETH1_IP}\"\nFALLBACK_DNS = \"${vnf.TEMPLATE.CONTEXT.ETH1_IP}\"\nONEAPP_LITHOPS_BACKEND=\"one\"\nONEAPP_LITHOPS_STORAGE=\"minio\"\nONEAPP_MINIO_ENDPOINT=\"http://${minio.TEMPLATE.CONTEXT.ETH0_IP}:9000\"\nONEAPP_MINIO_ACCESS_KEY_ID=\"$ONEAPP_MINIO_ROOT_USER\"\nONEAPP_MINIO_SECRET_ACCESS_KEY=\"$ONEAPP_MINIO_ROOT_PASSWORD\"\nONEAPP_ONEBE_DOCKER_USER=\"$ONEAPP_ONEBE_DOCKER_USER\"\nONEAPP_ONEBE_DOCKER_PASSWORD=\"$ONEAPP_ONEBE_DOCKER_PASSWORD\"\nONEAPP_ONEBE_AUTOSCALE=\"$ONEAPP_ONEBE_AUTOSCALE\"\nONEAPP_ONEBE_RUNTIME_CPU=\"${worker.TEMPLATE.CPU}\"\nONEAPP_ONEBE_RUNTIME_MEMORY=\"${worker.TEMPLATE.MEMORY}\"" + } + ], + "ready_status_gate": false, + "automatic_deletion": false, + "networks": { + "Public": "M|network|Public| |id::", + "Private": "M|network|Private| |id::" + }, + "custom_attrs": { + "ONEAPP_VROUTER_ETH0_VIP0": "0|text|Control Plane Endpoint VIP (IPv4)||", + "ONEAPP_VROUTER_ETH1_VIP0": "0|text|Default Gateway VIP (IPv4)||", + "ONEAPP_RKE2_SUPERVISOR_EP": "0|text|RKE2 Supervisor endpoint||ep0.eth0.vr:9345", + "ONEAPP_K8S_CONTROL_PLANE_EP": "0|text|Control Plane endpoint||ep0.eth0.vr:6443", + "ONEAPP_K8S_EXTRA_SANS": "0|text|ApiServer extra certificate SANs||localhost,127.0.0.1,ep0.eth0.vr,${vnf.TEMPLATE.CONTEXT.ETH0_IP}", + "ONEAPP_K8S_MULTUS_ENABLED": "0|boolean|Enable Multus||NO", + "ONEAPP_K8S_MULTUS_CONFIG": "0|text64|Multus custom config (default none)||", + "ONEAPP_K8S_CNI_PLUGIN": "0|list|CNI plugin supported by RKE2|canal,calico,cilium|cilium", + "ONEAPP_K8S_CNI_CONFIG": "0|text64|CNI custom config (default none)||", + "ONEAPP_K8S_CILIUM_RANGE": "0|text|Cilium LB IP CIDR (default none)||", + "ONEAPP_K8S_METALLB_ENABLED": "0|boolean|Enable MetalLB||NO", + "ONEAPP_K8S_METALLB_RANGE": "0|text|MetalLB IP range (default none)||", + "ONEAPP_K8S_METALLB_CONFIG": "0|text64|MetalLB custom config (default none)||", + "ONEAPP_K8S_LONGHORN_ENABLED": "0|boolean|Enable Longhorn||NO", + "ONEAPP_STORAGE_DEVICE": "0|text|Storage device path||/dev/vdb", + "ONEAPP_STORAGE_FILESYSTEM": "0|text|Storage device filesystem||xfs", + "ONEAPP_K8S_TRAEFIK_ENABLED": "0|boolean|Enable Traefik||NO", + "ONEAPP_VNF_HAPROXY_INTERFACES": "0|text|Interfaces to run Haproxy on||eth0", + "ONEAPP_VNF_HAPROXY_REFRESH_RATE": "0|number|Haproxy refresh rate||30", + "ONEAPP_VNF_HAPROXY_LB0_PORT": "0|number|HTTPS RKE2 Supervisor port||9345", + "ONEAPP_VNF_HAPROXY_LB1_PORT": "0|number|HTTPS API Server port||6443", + "ONEAPP_VNF_HAPROXY_LB2_PORT": "0|number|HTTPS ingress port||443", + "ONEAPP_VNF_HAPROXY_LB3_PORT": "0|number|HTTP ingress port||80", + "ONEAPP_VNF_DNS_ENABLED": "0|boolean|Enable DNS recursor||YES", + "ONEAPP_VNF_DNS_INTERFACES": "0|text|DNS - Interfaces||eth1", + "ONEAPP_VNF_DNS_NAMESERVERS": "0|text|DNS - Nameservers||1.1.1.1,8.8.8.8", + "ONEAPP_VNF_NAT4_ENABLED": "0|boolean|Enable NAT||YES", + "ONEAPP_VNF_NAT4_INTERFACES_OUT": "0|text|NAT - Outgoing Interfaces||eth0", + "ONEAPP_VNF_ROUTER4_ENABLED": "0|boolean|Enable Router||YES", + "ONEAPP_VNF_ROUTER4_INTERFACES": "0|text|Router - Interfaces||eth0,eth1", + "ONEAPP_MINIO_ROOT_USER": "M|text|MinIO Root User||minioadmin", + "ONEAPP_MINIO_ROOT_PASSWORD": "M|password|MinIO Root User Password||", + "ONEAPP_ONEBE_DOCKER_USER": "M|text|Docker user for Lithops||", + "ONEAPP_ONEBE_DOCKER_PASSWORD": "M|password|Docker user password for Lithops||", + "ONEAPP_ONEBE_JUPYTER_PASSWORD": "M|password|Password for Jupyter access||", + "ONEAPP_ONEBE_AUTOSCALE": "0|text|Lithops backend autoscale option||all" + }, + "registration_time": 1733154849, + "vmshutdown": "Terminate" +}' +logo: lithops.png +images: [] \ No newline at end of file From 74b549a4c9e9b2a95fc2c255f0c92e4c9bbce8c9 Mon Sep 17 00:00:00 2001 From: Alejandro Mosteiro Date: Thu, 9 Jan 2025 13:10:21 +0100 Subject: [PATCH 2/3] OpenNebula/engineering#156: Fix Lithops service template Signed-off-by: Alejandro Mosteiro --- .../01076f79-94be-4c8f-b57f-dec96d5d15a4.yaml | 2 +- .../32450c33-3e40-41a3-a9df-03a3f0a614c1.yaml | 2 +- .../651415b2-b890-4339-9ed6-ecd6c595321c.yaml | 291 ++++++++++++------ 3 files changed, 193 insertions(+), 102 deletions(-) diff --git a/appliances/LithopsService/01076f79-94be-4c8f-b57f-dec96d5d15a4.yaml b/appliances/LithopsService/01076f79-94be-4c8f-b57f-dec96d5d15a4.yaml index c9436a0..17c7713 100644 --- a/appliances/LithopsService/01076f79-94be-4c8f-b57f-dec96d5d15a4.yaml +++ b/appliances/LithopsService/01076f79-94be-4c8f-b57f-dec96d5d15a4.yaml @@ -71,4 +71,4 @@ opennebula_template: oneapp_onebe_autoscale: "0|text|Lithops backend autoscale option||all" logo: lithops.png disks: -- "Service Lithops" \ No newline at end of file +- "Service Lithops" diff --git a/appliances/LithopsService/32450c33-3e40-41a3-a9df-03a3f0a614c1.yaml b/appliances/LithopsService/32450c33-3e40-41a3-a9df-03a3f0a614c1.yaml index b2c87ce..e1f16bb 100644 --- a/appliances/LithopsService/32450c33-3e40-41a3-a9df-03a3f0a614c1.yaml +++ b/appliances/LithopsService/32450c33-3e40-41a3-a9df-03a3f0a614c1.yaml @@ -67,4 +67,4 @@ images: size: 2361393152 checksum: md5: 300fc063bc34bebe682acd9267db5354 - sha256: ab9434a7fe55cb7255f450b8e5b754978f5e747859de2e67713eb89b34c0f2fb \ No newline at end of file + sha256: ab9434a7fe55cb7255f450b8e5b754978f5e747859de2e67713eb89b34c0f2fb diff --git a/appliances/LithopsService/651415b2-b890-4339-9ed6-ecd6c595321c.yaml b/appliances/LithopsService/651415b2-b890-4339-9ed6-ecd6c595321c.yaml index 59ce156..c8b3623 100644 --- a/appliances/LithopsService/651415b2-b890-4339-9ed6-ecd6c595321c.yaml +++ b/appliances/LithopsService/651415b2-b890-4339-9ed6-ecd6c595321c.yaml @@ -38,104 +38,195 @@ roles: vnf: 'OneKE 1.29 VNF' master: 'OneKE 1.29' worker: 'OneKE 1.29' - minio: 'MinIO Multi-Node' - lithops: 'Lithops-Service' -opennebula_template: '{ - "name": "Service Lithops", - "deployment": "straight", - "description": "", - "roles": [ - { - "cardinality": 1, - "name": "vnf", - "min_vms": 1, - "cooldown": 120, - "vm_template_contents": "NIC = [\n NAME = \"_NIC0\",\n NETWORK_ID = \"$Public\" ]\nNIC = [\n NAME = \"_NIC1\",\n NETWORK_ID = \"$Private\" ]\n\nONEAPP_VROUTER_ETH0_VIP0 = \"$ONEAPP_VROUTER_ETH0_VIP0\"\nONEAPP_VROUTER_ETH1_VIP0 = \"$ONEAPP_VROUTER_ETH1_VIP0\"\nONEAPP_VNF_HAPROXY_INTERFACES = \"$ONEAPP_VNF_HAPROXY_INTERFACES\"\nONEAPP_VNF_HAPROXY_REFRESH_RATE = \"$ONEAPP_VNF_HAPROXY_REFRESH_RATE\"\nONEAPP_VNF_HAPROXY_LB0_IP = \"\"\nONEAPP_VNF_HAPROXY_LB0_PORT = \"$ONEAPP_VNF_HAPROXY_LB0_PORT\"\nONEAPP_VNF_HAPROXY_LB1_IP = \"\"\nONEAPP_VNF_HAPROXY_LB1_PORT = \"$ONEAPP_VNF_HAPROXY_LB1_PORT\"\nONEAPP_VNF_HAPROXY_LB2_IP = \"\"\nONEAPP_VNF_HAPROXY_LB2_PORT = \"$ONEAPP_VNF_HAPROXY_LB2_PORT\"\nONEAPP_VNF_HAPROXY_LB3_IP = \"\"\nONEAPP_VNF_HAPROXY_LB3_PORT = \"$ONEAPP_VNF_HAPROXY_LB3_PORT\"\nONEAPP_VNF_DNS_ENABLED = \"$ONEAPP_VNF_DNS_ENABLED\"\nONEAPP_VNF_DNS_INTERFACES = \"$ONEAPP_VNF_DNS_INTERFACES\"\nONEAPP_VNF_DNS_NAMESERVERS = \"$ONEAPP_VNF_DNS_NAMESERVERS\"\nONEAPP_VNF_NAT4_ENABLED = \"$ONEAPP_VNF_NAT4_ENABLED\"\nONEAPP_VNF_NAT4_INTERFACES_OUT = \"$ONEAPP_VNF_NAT4_INTERFACES_OUT\"\nONEAPP_VNF_ROUTER4_ENABLED = \"$ONEAPP_VNF_ROUTER4_ENABLED\"\nONEAPP_VNF_ROUTER4_INTERFACES = \"$ONEAPP_VNF_ROUTER4_INTERFACES\"" - }, - { - "name": "master", - "cardinality": 1, - "parents": [ - "vnf" - ], - "min_vms": 1, - "cooldown": 120, - "vm_template_contents": "NIC = [\n NAME = \"_NIC1\",\n NETWORK_ID = \"$Private\" ]\n\nFALLBACK_GW = \"${vnf.TEMPLATE.CONTEXT.ETH1_IP}\"\nFALLBACK_DNS = \"${vnf.TEMPLATE.CONTEXT.ETH1_IP}\"\nONEAPP_VROUTER_ETH0_VIP0 = \"$ONEAPP_VROUTER_ETH0_VIP0\"\nONEAPP_VROUTER_ETH1_VIP0 = \"$ONEAPP_VROUTER_ETH1_VIP0\"\nONEAPP_RKE2_SUPERVISOR_EP = \"$ONEAPP_RKE2_SUPERVISOR_EP\"\nONEAPP_K8S_CONTROL_PLANE_EP = \"$ONEAPP_K8S_CONTROL_PLANE_EP\"\nONEAPP_K8S_EXTRA_SANS = \"$ONEAPP_K8S_EXTRA_SANS\"\nONEAPP_K8S_MULTUS_ENABLED = \"$ONEAPP_K8S_MULTUS_ENABLED\"\nONEAPP_K8S_MULTUS_CONFIG = \"$ONEAPP_K8S_MULTUS_CONFIG\"\nONEAPP_K8S_CNI_PLUGIN = \"$ONEAPP_K8S_CNI_PLUGIN\"\nONEAPP_K8S_CNI_CONFIG = \"$ONEAPP_K8S_CNI_CONFIG\"\nONEAPP_K8S_CILIUM_RANGE = \"$ONEAPP_K8S_CILIUM_RANGE\"\nONEAPP_K8S_LONGHORN_ENABLED = \"$ONEAPP_K8S_LONGHORN_ENABLED\"\nONEAPP_K8S_METALLB_ENABLED = \"$ONEAPP_K8S_METALLB_ENABLED\"\nONEAPP_K8S_METALLB_CONFIG = \"$ONEAPP_K8S_METALLB_CONFIG\"\nONEAPP_K8S_METALLB_RANGE = \"$ONEAPP_K8S_METALLB_RANGE\"\nONEAPP_K8S_TRAEFIK_ENABLED = \"$ONEAPP_K8S_TRAEFIK_ENABLED\"\nONEAPP_VNF_HAPROXY_LB0_IP = \"\"\nONEAPP_VNF_HAPROXY_LB0_PORT = \"$ONEAPP_VNF_HAPROXY_LB0_PORT\"\nONEAPP_VNF_HAPROXY_LB1_IP = \"\"\nONEAPP_VNF_HAPROXY_LB1_PORT = \"$ONEAPP_VNF_HAPROXY_LB1_PORT\"\nONEAPP_VNF_DNS_ENABLED = \"$ONEAPP_VNF_DNS_ENABLED\"" - }, - { - "name": "worker", - "cardinality": 1, - "parents": [ - "vnf" - ], - "cooldown": 120, - "vm_template_contents": "NIC = [\n NAME = \"_NIC1\",\n NETWORK_ID = \"$Private\" ]\n\nFALLBACK_GW = \"${vnf.TEMPLATE.CONTEXT.ETH1_IP}\"\nFALLBACK_DNS = \"${vnf.TEMPLATE.CONTEXT.ETH1_IP}\"\nONEAPP_VROUTER_ETH0_VIP0 = \"$ONEAPP_VROUTER_ETH0_VIP0\"\nONEAPP_VROUTER_ETH1_VIP0 = \"$ONEAPP_VROUTER_ETH1_VIP0\"\nONEAPP_RKE2_SUPERVISOR_EP = \"$ONEAPP_RKE2_SUPERVISOR_EP\"\nONEAPP_K8S_CONTROL_PLANE_EP = \"$ONEAPP_K8S_CONTROL_PLANE_EP\"\nONEAPP_K8S_MULTUS_ENABLED = \"$ONEAPP_K8S_MULTUS_ENABLED\"\nONEAPP_K8S_CNI_PLUGIN = \"$ONEAPP_K8S_CNI_PLUGIN\"\nONEAPP_K8S_LONGHORN_ENABLED = \"$ONEAPP_K8S_LONGHORN_ENABLED\"\nONEAPP_K8S_METALLB_ENABLED = \"$ONEAPP_K8S_METALLB_ENABLED\"\nONEAPP_K8S_TRAEFIK_ENABLED = \"$ONEAPP_K8S_TRAEFIK_ENABLED\"\nONEAPP_VNF_HAPROXY_LB0_PORT = \"$ONEAPP_VNF_HAPROXY_LB0_PORT\"\nONEAPP_VNF_HAPROXY_LB1_PORT = \"$ONEAPP_VNF_HAPROXY_LB1_PORT\"\nONEAPP_VNF_HAPROXY_LB2_IP = \"\"\nONEAPP_VNF_HAPROXY_LB2_PORT = \"$ONEAPP_VNF_HAPROXY_LB2_PORT\"\nONEAPP_VNF_HAPROXY_LB3_IP = \"\"\nONEAPP_VNF_HAPROXY_LB3_PORT = \"$ONEAPP_VNF_HAPROXY_LB3_PORT\"\nONEAPP_VNF_DNS_ENABLED = \"$ONEAPP_VNF_DNS_ENABLED\"" - }, - { - "name": "minio", - "cardinality": 1, - "parents": [ - "vnf" - ], - "vm_template_contents": "NIC = [\n NAME = \"_NIC1\",\n NETWORK_ID = \"$Private\" ]\n\nFALLBACK_GW = \"${vnf.TEMPLATE.CONTEXT.ETH1_IP}\"\nFALLBACK_DNS = \"${vnf.TEMPLATE.CONTEXT.ETH1_IP}\"\nONEAPP_MINIO_ROOT_USER=\"$ONEAPP_MINIO_ROOT_USER\"\nONEAPP_MINIO_ROOT_PASSWORD=\"$ONEAPP_MINIO_ROOT_PASSWORD\"\nONEAPP_MINIO_HOSTNAME=\"minio.opennebula.local\"\nONEAPP_MINIO_TLS_ENABLED=\"NO\"" - }, - { - "name": "lithops", - "cardinality": 1, - "parents": [ - "vnf", - "master", - "minio" - ], - "vm_template_contents": "NIC = [\n NAME = \"_NIC0\",\n NETWORK_ID = \"$Private\" ]\n\nFALLBACK_GW = \"${vnf.TEMPLATE.CONTEXT.ETH1_IP}\"\nFALLBACK_DNS = \"${vnf.TEMPLATE.CONTEXT.ETH1_IP}\"\nONEAPP_LITHOPS_BACKEND=\"one\"\nONEAPP_LITHOPS_STORAGE=\"minio\"\nONEAPP_MINIO_ENDPOINT=\"http://${minio.TEMPLATE.CONTEXT.ETH0_IP}:9000\"\nONEAPP_MINIO_ACCESS_KEY_ID=\"$ONEAPP_MINIO_ROOT_USER\"\nONEAPP_MINIO_SECRET_ACCESS_KEY=\"$ONEAPP_MINIO_ROOT_PASSWORD\"\nONEAPP_ONEBE_DOCKER_USER=\"$ONEAPP_ONEBE_DOCKER_USER\"\nONEAPP_ONEBE_DOCKER_PASSWORD=\"$ONEAPP_ONEBE_DOCKER_PASSWORD\"\nONEAPP_ONEBE_AUTOSCALE=\"$ONEAPP_ONEBE_AUTOSCALE\"\nONEAPP_ONEBE_RUNTIME_CPU=\"${worker.TEMPLATE.CPU}\"\nONEAPP_ONEBE_RUNTIME_MEMORY=\"${worker.TEMPLATE.MEMORY}\"" - } - ], - "ready_status_gate": false, - "automatic_deletion": false, - "networks": { - "Public": "M|network|Public| |id::", - "Private": "M|network|Private| |id::" - }, - "custom_attrs": { - "ONEAPP_VROUTER_ETH0_VIP0": "0|text|Control Plane Endpoint VIP (IPv4)||", - "ONEAPP_VROUTER_ETH1_VIP0": "0|text|Default Gateway VIP (IPv4)||", - "ONEAPP_RKE2_SUPERVISOR_EP": "0|text|RKE2 Supervisor endpoint||ep0.eth0.vr:9345", - "ONEAPP_K8S_CONTROL_PLANE_EP": "0|text|Control Plane endpoint||ep0.eth0.vr:6443", - "ONEAPP_K8S_EXTRA_SANS": "0|text|ApiServer extra certificate SANs||localhost,127.0.0.1,ep0.eth0.vr,${vnf.TEMPLATE.CONTEXT.ETH0_IP}", - "ONEAPP_K8S_MULTUS_ENABLED": "0|boolean|Enable Multus||NO", - "ONEAPP_K8S_MULTUS_CONFIG": "0|text64|Multus custom config (default none)||", - "ONEAPP_K8S_CNI_PLUGIN": "0|list|CNI plugin supported by RKE2|canal,calico,cilium|cilium", - "ONEAPP_K8S_CNI_CONFIG": "0|text64|CNI custom config (default none)||", - "ONEAPP_K8S_CILIUM_RANGE": "0|text|Cilium LB IP CIDR (default none)||", - "ONEAPP_K8S_METALLB_ENABLED": "0|boolean|Enable MetalLB||NO", - "ONEAPP_K8S_METALLB_RANGE": "0|text|MetalLB IP range (default none)||", - "ONEAPP_K8S_METALLB_CONFIG": "0|text64|MetalLB custom config (default none)||", - "ONEAPP_K8S_LONGHORN_ENABLED": "0|boolean|Enable Longhorn||NO", - "ONEAPP_STORAGE_DEVICE": "0|text|Storage device path||/dev/vdb", - "ONEAPP_STORAGE_FILESYSTEM": "0|text|Storage device filesystem||xfs", - "ONEAPP_K8S_TRAEFIK_ENABLED": "0|boolean|Enable Traefik||NO", - "ONEAPP_VNF_HAPROXY_INTERFACES": "0|text|Interfaces to run Haproxy on||eth0", - "ONEAPP_VNF_HAPROXY_REFRESH_RATE": "0|number|Haproxy refresh rate||30", - "ONEAPP_VNF_HAPROXY_LB0_PORT": "0|number|HTTPS RKE2 Supervisor port||9345", - "ONEAPP_VNF_HAPROXY_LB1_PORT": "0|number|HTTPS API Server port||6443", - "ONEAPP_VNF_HAPROXY_LB2_PORT": "0|number|HTTPS ingress port||443", - "ONEAPP_VNF_HAPROXY_LB3_PORT": "0|number|HTTP ingress port||80", - "ONEAPP_VNF_DNS_ENABLED": "0|boolean|Enable DNS recursor||YES", - "ONEAPP_VNF_DNS_INTERFACES": "0|text|DNS - Interfaces||eth1", - "ONEAPP_VNF_DNS_NAMESERVERS": "0|text|DNS - Nameservers||1.1.1.1,8.8.8.8", - "ONEAPP_VNF_NAT4_ENABLED": "0|boolean|Enable NAT||YES", - "ONEAPP_VNF_NAT4_INTERFACES_OUT": "0|text|NAT - Outgoing Interfaces||eth0", - "ONEAPP_VNF_ROUTER4_ENABLED": "0|boolean|Enable Router||YES", - "ONEAPP_VNF_ROUTER4_INTERFACES": "0|text|Router - Interfaces||eth0,eth1", - "ONEAPP_MINIO_ROOT_USER": "M|text|MinIO Root User||minioadmin", - "ONEAPP_MINIO_ROOT_PASSWORD": "M|password|MinIO Root User Password||", - "ONEAPP_ONEBE_DOCKER_USER": "M|text|Docker user for Lithops||", - "ONEAPP_ONEBE_DOCKER_PASSWORD": "M|password|Docker user password for Lithops||", - "ONEAPP_ONEBE_JUPYTER_PASSWORD": "M|password|Password for Jupyter access||", - "ONEAPP_ONEBE_AUTOSCALE": "0|text|Lithops backend autoscale option||all" - }, - "registration_time": 1733154849, - "vmshutdown": "Terminate" -}' + minio: 'Lithops Service - MinIO' + lithops: 'Lithops Service - Client' +opennebula_template: + name: Service Lithops + deployment: straight + description: '' + roles: + - name: vnf + cardinality: 1 + min_vms: 1 + vm_template_contents: | + NIC = [ + NAME = "NIC0", + NETWORK_ID = "$Public" + ] + NIC = [ + NAME = "NIC1", + NETWORK_ID = "$Private" + ] + ONEAPP_VROUTER_ETH0_VIP0 = "$ONEAPP_VROUTER_ETH0_VIP0" + ONEAPP_VROUTER_ETH1_VIP0 = "$ONEAPP_VROUTER_ETH1_VIP0" + ONEAPP_VNF_HAPROXY_INTERFACES = "$ONEAPP_VNF_HAPROXY_INTERFACES" + ONEAPP_VNF_HAPROXY_REFRESH_RATE = "$ONEAPP_VNF_HAPROXY_REFRESH_RATE" + ONEAPP_VNF_HAPROXY_LB0_IP = "" + ONEAPP_VNF_HAPROXY_LB0_PORT = "$ONEAPP_VNF_HAPROXY_LB0_PORT" + ONEAPP_VNF_HAPROXY_LB1_IP = "" + ONEAPP_VNF_HAPROXY_LB1_PORT = "$ONEAPP_VNF_HAPROXY_LB1_PORT" + ONEAPP_VNF_HAPROXY_LB2_IP = "" + ONEAPP_VNF_HAPROXY_LB2_PORT = "$ONEAPP_VNF_HAPROXY_LB2_PORT" + ONEAPP_VNF_HAPROXY_LB3_IP = "" + ONEAPP_VNF_HAPROXY_LB3_PORT = "$ONEAPP_VNF_HAPROXY_LB3_PORT" + ONEAPP_VNF_DNS_ENABLED = "$ONEAPP_VNF_DNS_ENABLED" + ONEAPP_VNF_DNS_INTERFACES = "$ONEAPP_VNF_DNS_INTERFACES" + ONEAPP_VNF_DNS_NAMESERVERS = "$ONEAPP_VNF_DNS_NAMESERVERS" + ONEAPP_VNF_NAT4_ENABLED = "$ONEAPP_VNF_NAT4_ENABLED" + ONEAPP_VNF_NAT4_INTERFACES_OUT = "$ONEAPP_VNF_NAT4_INTERFACES_OUT" + ONEAPP_VNF_ROUTER4_ENABLED = "$ONEAPP_VNF_ROUTER4_ENABLED" + ONEAPP_VNF_ROUTER4_INTERFACES = "$ONEAPP_VNF_ROUTER4_INTERFACES"" + cooldown: 120 + elasticity_policies: [] + scheduled_policies: [] + - name: master + parents": + - vnf + cardinality: 1 + min_vms: 1 + vm_template_contents: | + NIC = [ + NAME = "NIC0", + NETWORK_ID = "$Private" + ] + FALLBACK_GW = "${vnf.TEMPLATE.CONTEXT.ETH1_IP}" + FALLBACK_DNS = "${vnf.TEMPLATE.CONTEXT.ETH1_IP}" + ONEAPP_VROUTER_ETH0_VIP0 = "$ONEAPP_VROUTER_ETH0_VIP0" + ONEAPP_VROUTER_ETH1_VIP0 = "$ONEAPP_VROUTER_ETH1_VIP0" + ONEAPP_RKE2_SUPERVISOR_EP = "$ONEAPP_RKE2_SUPERVISOR_EP" + ONEAPP_K8S_CONTROL_PLANE_EP = "$ONEAPP_K8S_CONTROL_PLANE_EP" + ONEAPP_K8S_EXTRA_SANS = "$ONEAPP_K8S_EXTRA_SANS" + ONEAPP_K8S_MULTUS_ENABLED = "$ONEAPP_K8S_MULTUS_ENABLED" + ONEAPP_K8S_MULTUS_CONFIG = "$ONEAPP_K8S_MULTUS_CONFIG" + ONEAPP_K8S_CNI_PLUGIN = "$ONEAPP_K8S_CNI_PLUGIN" + ONEAPP_K8S_CNI_CONFIG = "$ONEAPP_K8S_CNI_CONFIG" + ONEAPP_K8S_CILIUM_RANGE = "$ONEAPP_K8S_CILIUM_RANGE" + ONEAPP_K8S_LONGHORN_ENABLED = "$ONEAPP_K8S_LONGHORN_ENABLED" + ONEAPP_K8S_METALLB_ENABLED = "$ONEAPP_K8S_METALLB_ENABLED" + ONEAPP_K8S_METALLB_CONFIG = "$ONEAPP_K8S_METALLB_CONFIG" + ONEAPP_K8S_METALLB_RANGE = "$ONEAPP_K8S_METALLB_RANGE" + ONEAPP_K8S_TRAEFIK_ENABLED = "$ONEAPP_K8S_TRAEFIK_ENABLED" + ONEAPP_VNF_HAPROXY_LB0_IP = "" + ONEAPP_VNF_HAPROXY_LB0_PORT = "$ONEAPP_VNF_HAPROXY_LB0_PORT" + ONEAPP_VNF_HAPROXY_LB1_IP = "" + ONEAPP_VNF_HAPROXY_LB1_PORT = "$ONEAPP_VNF_HAPROXY_LB1_PORT" + ONEAPP_VNF_DNS_ENABLED = "$ONEAPP_VNF_DNS_ENABLED"" + cooldown: 120 + elasticity_policies: [] + scheduled_policies: [] + - name: worker + parents": + - vnf + cardinality: 1 + vm_template_contents: | + NIC = [ + NAME = "NIC0", + NETWORK_ID = "$Private" + ] + FALLBACK_GW = "${vnf.TEMPLATE.CONTEXT.ETH1_IP}" + FALLBACK_DNS = "${vnf.TEMPLATE.CONTEXT.ETH1_IP}" + ONEAPP_VROUTER_ETH0_VIP0 = "$ONEAPP_VROUTER_ETH0_VIP0" + ONEAPP_VROUTER_ETH1_VIP0 = "$ONEAPP_VROUTER_ETH1_VIP0" + ONEAPP_RKE2_SUPERVISOR_EP = "$ONEAPP_RKE2_SUPERVISOR_EP" + ONEAPP_K8S_CONTROL_PLANE_EP = "$ONEAPP_K8S_CONTROL_PLANE_EP" + ONEAPP_K8S_MULTUS_ENABLED = "$ONEAPP_K8S_MULTUS_ENABLED" + ONEAPP_K8S_CNI_PLUGIN = "$ONEAPP_K8S_CNI_PLUGIN" + ONEAPP_K8S_LONGHORN_ENABLED = "$ONEAPP_K8S_LONGHORN_ENABLED" + ONEAPP_K8S_METALLB_ENABLED = "$ONEAPP_K8S_METALLB_ENABLED" + ONEAPP_K8S_TRAEFIK_ENABLED = "$ONEAPP_K8S_TRAEFIK_ENABLED" + ONEAPP_VNF_HAPROXY_LB0_PORT = "$ONEAPP_VNF_HAPROXY_LB0_PORT" + ONEAPP_VNF_HAPROXY_LB1_PORT = "$ONEAPP_VNF_HAPROXY_LB1_PORT" + ONEAPP_VNF_HAPROXY_LB2_IP = "" + ONEAPP_VNF_HAPROXY_LB2_PORT = "$ONEAPP_VNF_HAPROXY_LB2_PORT" + ONEAPP_VNF_HAPROXY_LB3_IP = "" + ONEAPP_VNF_HAPROXY_LB3_PORT = "$ONEAPP_VNF_HAPROXY_LB3_PORT" + ONEAPP_VNF_DNS_ENABLED = "$ONEAPP_VNF_DNS_ENABLED"" + cooldown: 120 + elasticity_policies: [] + scheduled_policies: [] + - name: minio + parents": + - vnf + cardinality: 1 + vm_template_contents: | + NIC = [ + NAME = "NIC0", + NETWORK_ID = "$Private" + ] + FALLBACK_GW = "${vnf.TEMPLATE.CONTEXT.ETH1_IP}" + FALLBACK_DNS = "${vnf.TEMPLATE.CONTEXT.ETH1_IP}" + ONEAPP_MINIO_ROOT_USER="$ONEAPP_MINIO_ROOT_USER" + ONEAPP_MINIO_ROOT_PASSWORD="$ONEAPP_MINIO_ROOT_PASSWORD" + ONEAPP_MINIO_HOSTNAME="minio.opennebula.local" + ONEAPP_MINIO_TLS_ENABLED="NO"" + cooldown: 120 + elasticity_policies: [] + scheduled_policies: [] + parents": + - vnf + master + minio + cardinality: 1 + vm_template_contents: | + NIC = [ + NAME = "NIC0", + NETWORK_ID = "$Private" + ] + FALLBACK_GW = "${vnf.TEMPLATE.CONTEXT.ETH1_IP}" + FALLBACK_DNS = "${vnf.TEMPLATE.CONTEXT.ETH1_IP}" + ONEAPP_LITHOPS_BACKEND="one" + ONEAPP_LITHOPS_STORAGE="minio" + ONEAPP_MINIO_ENDPOINT="http://${minio.TEMPLATE.CONTEXT.ETH0_IP}:9000" + ONEAPP_MINIO_ACCESS_KEY_ID="$ONEAPP_MINIO_ROOT_USER" + ONEAPP_MINIO_SECRET_ACCESS_KEY="$ONEAPP_MINIO_ROOT_PASSWORD" + ONEAPP_ONEBE_DOCKER_USER="$ONEAPP_ONEBE_DOCKER_USER" + ONEAPP_ONEBE_DOCKER_PASSWORD="$ONEAPP_ONEBE_DOCKER_PASSWORD" + ONEAPP_ONEBE_AUTOSCALE="$ONEAPP_ONEBE_AUTOSCALE" + ONEAPP_ONEBE_RUNTIME_CPU="${worker.TEMPLATE.CPU}" + ONEAPP_ONEBE_RUNTIME_MEMORY="${worker.TEMPLATE.MEMORY}"" + cooldown: 120 + elasticity_policies: [] + scheduled_policies: [] + networks: + Public: 'M|network|Public| |id::' + Private: 'M|network|Private| |id::' + custom_attrs: + ONEAPP_VROUTER_ETH0_VIP0: '0|text|Control Plane Endpoint VIP (IPv4)||' + ONEAPP_VROUTER_ETH1_VIP0: '0|text|Default Gateway VIP (IPv4)||' + ONEAPP_RKE2_SUPERVISOR_EP: '0|text|RKE2 Supervisor endpoint||ep0.eth0.vr:9345' + ONEAPP_K8S_CONTROL_PLANE_EP: '0|text|Control Plane endpoint||ep0.eth0.vr:6443' + ONEAPP_K8S_EXTRA_SANS: '0|text|ApiServer extra certificate SANs||localhost,127.0.0.1,ep0.eth0.vr,${vnf.TEMPLATE.CONTEXT.ETH0_IP}' + ONEAPP_K8S_MULTUS_ENABLED: '0|boolean|Enable Multus||NO' + ONEAPP_K8S_MULTUS_CONFIG: '0|text64|Multus custom config (default none)||' + ONEAPP_K8S_CNI_PLUGIN: '0|list|CNI plugin supported by RKE2|canal,calico,cilium|cilium' + ONEAPP_K8S_CNI_CONFIG: '0|text64|CNI custom config (default none)||' + ONEAPP_K8S_CILIUM_RANGE: '0|text|Cilium LB IP CIDR (default none)||' + ONEAPP_K8S_METALLB_ENABLED: '0|boolean|Enable MetalLB||NO' + ONEAPP_K8S_METALLB_RANGE: '0|text|MetalLB IP range (default none)||' + ONEAPP_K8S_METALLB_CONFIG: '0|text64|MetalLB custom config (default none)||' + ONEAPP_K8S_LONGHORN_ENABLED: '0|boolean|Enable Longhorn||NO' + ONEAPP_STORAGE_DEVICE: '0|text|Storage device path||/dev/vdb' + ONEAPP_STORAGE_FILESYSTEM: '0|text|Storage device filesystem||xfs' + ONEAPP_K8S_TRAEFIK_ENABLED: '0|boolean|Enable Traefik||NO' + ONEAPP_VNF_HAPROXY_INTERFACES: '0|text|Interfaces to run Haproxy on||eth0' + ONEAPP_VNF_HAPROXY_REFRESH_RATE: '0|number|Haproxy refresh rate||30' + ONEAPP_VNF_HAPROXY_LB0_PORT: '0|number|HTTPS RKE2 Supervisor port||9345' + ONEAPP_VNF_HAPROXY_LB1_PORT: '0|number|HTTPS API Server port||6443' + ONEAPP_VNF_HAPROXY_LB2_PORT: '0|number|HTTPS ingress port||443' + ONEAPP_VNF_HAPROXY_LB3_PORT: '0|number|HTTP ingress port||80' + ONEAPP_VNF_DNS_ENABLED: '0|boolean|Enable DNS recursor||YES' + ONEAPP_VNF_DNS_INTERFACES: '0|text|DNS - Interfaces||eth1' + ONEAPP_VNF_DNS_NAMESERVERS: '0|text|DNS - Nameservers||1.1.1.1,8.8.8.8' + ONEAPP_VNF_NAT4_ENABLED: '0|boolean|Enable NAT||YES' + ONEAPP_VNF_NAT4_INTERFACES_OUT: '0|text|NAT - Outgoing Interfaces||eth0' + ONEAPP_VNF_ROUTER4_ENABLED: '0|boolean|Enable Router||YES' + ONEAPP_VNF_ROUTER4_INTERFACES: '0|text|Router - Interfaces||eth0,eth1' + ONEAPP_MINIO_ROOT_USER: 'M|text|MinIO Root User||minioadmin' + ONEAPP_MINIO_ROOT_PASSWORD: 'M|password|MinIO Root User Password||' + ONEAPP_ONEBE_DOCKER_USER: 'M|text|Docker user for Lithops||' + ONEAPP_ONEBE_DOCKER_PASSWORD: 'M|password|Docker user password for Lithops||' + ONEAPP_ONEBE_JUPYTER_PASSWORD: 'M|password|Password for Jupyter access||' + ONEAPP_ONEBE_AUTOSCALE: '0|text|Lithops backend autoscale option||all' + ready_status_gate: true logo: lithops.png -images: [] \ No newline at end of file +images: [] From 226a73e581d2e697271c564ad097297fb55ad355 Mon Sep 17 00:00:00 2001 From: Alejandro Mosteiro Date: Thu, 9 Jan 2025 13:29:48 +0100 Subject: [PATCH 3/3] OpenNebula/engineering#156: Fix Lithops service template Signed-off-by: Alejandro Mosteiro --- .../LithopsService/01076f79-94be-4c8f-b57f-dec96d5d15a4.yaml | 1 - .../LithopsService/651415b2-b890-4339-9ed6-ecd6c595321c.yaml | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/appliances/LithopsService/01076f79-94be-4c8f-b57f-dec96d5d15a4.yaml b/appliances/LithopsService/01076f79-94be-4c8f-b57f-dec96d5d15a4.yaml index 17c7713..60cca43 100644 --- a/appliances/LithopsService/01076f79-94be-4c8f-b57f-dec96d5d15a4.yaml +++ b/appliances/LithopsService/01076f79-94be-4c8f-b57f-dec96d5d15a4.yaml @@ -23,7 +23,6 @@ hypervisor: KVM opennebula_version: 6.8, 6.10 opennebula_template: context: - network: 'YES' fallback_dns: '$FALLBACK_DNS' fallback_gw: '$FALLBACK_GW' network: 'YES' diff --git a/appliances/LithopsService/651415b2-b890-4339-9ed6-ecd6c595321c.yaml b/appliances/LithopsService/651415b2-b890-4339-9ed6-ecd6c595321c.yaml index c8b3623..3560733 100644 --- a/appliances/LithopsService/651415b2-b890-4339-9ed6-ecd6c595321c.yaml +++ b/appliances/LithopsService/651415b2-b890-4339-9ed6-ecd6c595321c.yaml @@ -162,6 +162,7 @@ opennebula_template: cooldown: 120 elasticity_policies: [] scheduled_policies: [] + - name: lithops parents": - vnf master