<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.stoney-cloud.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sst-yde</id>
	<title>MediaWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stoney-cloud.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sst-yde"/>
	<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/wiki/Special:Contributions/Sst-yde"/>
	<updated>2026-07-15T02:29:40Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1103</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1103"/>
		<updated>2026-07-09T14:20:16Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:left; width:48%;&amp;quot;&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Welcome to the wiki of our [https://www.openstack.org/ OpenStack] based [https://www.stoney-cloud.com/ stoney cloud] infrastructure.&lt;br /&gt;
This collection serves as a comprehensive resource for all aspects of our cloud environment. Here, you will find guides for managing and utilizing our stoney cloud.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
[[Quickstart]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width:48%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Projects|Projects]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Instances|Instances]]&lt;br /&gt;
* [[VM creation (Linux)]]&lt;br /&gt;
* [[VM creation (Windows)]]&lt;br /&gt;
* [[VM resize (Linux)]]&lt;br /&gt;
* [[VM resize (Windows)]]&lt;br /&gt;
* [[Flavor explanation]]&lt;br /&gt;
[[:Category:Volumes|Volumes]]&lt;br /&gt;
* [[Quota]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Images|Images]]&lt;br /&gt;
* [[Image creation]]&lt;br /&gt;
[[:Category:Network|Network]]&lt;br /&gt;
* [[Security group rules]]&lt;br /&gt;
* [[IP usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Object store|Object store]]&lt;br /&gt;
* [[S3 buckets]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Kubernetes|Kubernetes]]&lt;br /&gt;
* [[Kubernetes management]]&lt;br /&gt;
* [[Kubernetes usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:AI on demand|AI on demand]]&lt;br /&gt;
* [[AI on demand: Usage]] (list models, show usage, ...)&lt;br /&gt;
* [[AI on demand: apertus-ai/Apertus-v1.5-8B-Prerelease-2607]]&lt;br /&gt;
* &amp;lt;s&amp;gt;[[AI on demand: swiss-ai/Apertus-70B-Instruct-2509]]&amp;lt;/s&amp;gt; (discontinued since the 7th of May 2026!)&lt;br /&gt;
* [[AI on demand: BAAI/bge-m3]]&lt;br /&gt;
* [[AI on demand: BAAI/bge-reranker-v2-m3]]&lt;br /&gt;
* [[AI on demand: MiniMaxAI/MiniMax-M2.5]]&lt;br /&gt;
* [[AI on demand: NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B]]&lt;br /&gt;
* [[AI on demand: Qwen/Qwen3-Coder-Next]]&lt;br /&gt;
* [[AI on demand: Qwen/Qwen3.5-35B-A3B-FP8]]&lt;br /&gt;
* [[AI on demand: allenai/olmOCR-2-7B]]&lt;br /&gt;
* [[AI on demand: lightonai/LightOnOCR-2-1B]]&lt;br /&gt;
* [[AI on demand: mistralai/Voxtral-Mini-3B-2507]]&lt;br /&gt;
* [[AI on demand: openai/whisper-large-v3]]&lt;br /&gt;
* [[AI on demand: opendatalab/MinerU2.5-2509-1.2B]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Backup|Backup]]&lt;br /&gt;
* [[Kopia restore process]]&lt;br /&gt;
[[:Category:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[PCI workaround]]&lt;br /&gt;
* [[Change user password]]&lt;br /&gt;
&lt;br /&gt;
== Quick links ==&lt;br /&gt;
* [https://www.stoney-cloud.com/ stoney cloud Website]&lt;br /&gt;
* [https://dashboard.stoney-cloud.com/ stoney cloud Dashboard]&lt;br /&gt;
* [https://docs.openstack.org/horizon/latest/user/index.html Official OpenStack Dashboard Documentation]&lt;br /&gt;
* [https://docs.openstack.org/python-openstackclient/latest/cli/index.html Official OpenStack CLI Documentation]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; height:0px; line-height:0px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1102</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1102"/>
		<updated>2026-07-09T14:19:54Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:left; width:48%;&amp;quot;&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Welcome to the wiki of our [https://www.openstack.org/ OpenStack] based [https://www.stoney-cloud.com/ stoney cloud] infrastructure.&lt;br /&gt;
This collection serves as a comprehensive resource for all aspects of our cloud environment. Here, you will find guides for managing and utilizing our stoney cloud.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
[[Quickstart]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width:48%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Projects|Projects]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Instances|Instances]]&lt;br /&gt;
* [[VM creation (Linux)]]&lt;br /&gt;
* [[VM creation (Windows)]]&lt;br /&gt;
* [[VM resize (Linux)]]&lt;br /&gt;
* [[VM resize (Windows)]]&lt;br /&gt;
* [[Flavor explanation]]&lt;br /&gt;
[[:Category:Volumes|Volumes]]&lt;br /&gt;
* [[Quota]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Images|Images]]&lt;br /&gt;
* [[Image creation]]&lt;br /&gt;
[[:Category:Network|Network]]&lt;br /&gt;
* [[Security group rules]]&lt;br /&gt;
* [[IP usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Object store|Object store]]&lt;br /&gt;
* [[S3 buckets]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Kubernetes|Kubernetes]]&lt;br /&gt;
* [[Kubernetes management]]&lt;br /&gt;
* [[Kubernetes usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:AI on demand|AI on demand]]&lt;br /&gt;
* [[AI on demand: Usage]] (list models, show usage, ...)&lt;br /&gt;
* [[AI on demand: BAAI/bge-m3]]&lt;br /&gt;
* [[AI on demand: BAAI/bge-reranker-v2-m3]]&lt;br /&gt;
* [[AI on demand: MiniMaxAI/MiniMax-M2.5]]&lt;br /&gt;
* [[AI on demand: NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B]]&lt;br /&gt;
* [[AI on demand: Qwen/Qwen3-Coder-Next]]&lt;br /&gt;
* [[AI on demand: Qwen/Qwen3.5-35B-A3B-FP8]]&lt;br /&gt;
* [[AI on demand: allenai/olmOCR-2-7B]]&lt;br /&gt;
* [[AI on demand: lightonai/LightOnOCR-2-1B]]&lt;br /&gt;
* [[AI on demand: mistralai/Voxtral-Mini-3B-2507]]&lt;br /&gt;
* [[AI on demand: openai/whisper-large-v3]]&lt;br /&gt;
* [[AI on demand: opendatalab/MinerU2.5-2509-1.2B]]&lt;br /&gt;
* [[AI on demand: apertus-ai/Apertus-v1.5-8B-Prerelease-2607]]&lt;br /&gt;
* &amp;lt;s&amp;gt;[[AI on demand: swiss-ai/Apertus-70B-Instruct-2509]]&amp;lt;/s&amp;gt; (discontinued since the 7th of May 2026!)&lt;br /&gt;
&lt;br /&gt;
[[:Category:Backup|Backup]]&lt;br /&gt;
* [[Kopia restore process]]&lt;br /&gt;
[[:Category:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[PCI workaround]]&lt;br /&gt;
* [[Change user password]]&lt;br /&gt;
&lt;br /&gt;
== Quick links ==&lt;br /&gt;
* [https://www.stoney-cloud.com/ stoney cloud Website]&lt;br /&gt;
* [https://dashboard.stoney-cloud.com/ stoney cloud Dashboard]&lt;br /&gt;
* [https://docs.openstack.org/horizon/latest/user/index.html Official OpenStack Dashboard Documentation]&lt;br /&gt;
* [https://docs.openstack.org/python-openstackclient/latest/cli/index.html Official OpenStack CLI Documentation]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; height:0px; line-height:0px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_apertus-ai/Apertus-v1.5-8B-Prerelease-2607&amp;diff=1101</id>
		<title>AI on demand: apertus-ai/Apertus-v1.5-8B-Prerelease-2607</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_apertus-ai/Apertus-v1.5-8B-Prerelease-2607&amp;diff=1101"/>
		<updated>2026-07-09T14:19:13Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: Created page with &amp;quot;== Calling the model == &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; # Set your personal key: STONEY_KEY=sk-...  # Set the desired model: MODEL=apertus-ai/Apertus-v1.5-8B-Prerelease-2607  # Set your prompt: PROMPT=&amp;#039;Hello.&amp;#039;  # Set maximum amount of tokens: MAX_TOKENS=100  curl https://llm.stoney-cloud.com/v1/chat/completions \         --silent --fail --show-error \         --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \         --header &amp;#039;Content-Type: application/json&amp;#039;   \         --data...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=apertus-ai/Apertus-v1.5-8B-Prerelease-2607&lt;br /&gt;
&lt;br /&gt;
# Set your prompt:&lt;br /&gt;
PROMPT=&#039;Hello.&#039;&lt;br /&gt;
&lt;br /&gt;
# Set maximum amount of tokens:&lt;br /&gt;
MAX_TOKENS=100&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/chat/completions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &#039;Content-Type: application/json&#039;   \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;&#039;&amp;quot;$MODEL&amp;quot;&#039;&amp;quot;,&lt;br /&gt;
                &amp;quot;messages&amp;quot;: [&lt;br /&gt;
                        {&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;, &amp;quot;content&amp;quot;: &amp;quot;&#039;&amp;quot;$PROMPT&amp;quot;&#039;&amp;quot;}&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;max_tokens&amp;quot;: &#039;&amp;quot;$MAX_TOKENS&amp;quot;&#039;&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;chatcmpl-8c1d87941fc8fa7d&amp;quot;,&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;chat.completion&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: 1783606728,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;apertus-ai/Apertus-v1.5-8B-Prerelease-2607&amp;quot;,&lt;br /&gt;
  &amp;quot;choices&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;message&amp;quot;: {&lt;br /&gt;
        &amp;quot;role&amp;quot;: &amp;quot;assistant&amp;quot;,&lt;br /&gt;
        &amp;quot;content&amp;quot;: &amp;quot;Hello! How can I help you today?&amp;quot;,&lt;br /&gt;
        &amp;quot;refusal&amp;quot;: null,&lt;br /&gt;
        &amp;quot;annotations&amp;quot;: null,&lt;br /&gt;
        &amp;quot;audio&amp;quot;: null,&lt;br /&gt;
        &amp;quot;function_call&amp;quot;: null,&lt;br /&gt;
        &amp;quot;reasoning&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;logprobs&amp;quot;: null,&lt;br /&gt;
      &amp;quot;finish_reason&amp;quot;: &amp;quot;stop&amp;quot;,&lt;br /&gt;
      &amp;quot;stop_reason&amp;quot;: null,&lt;br /&gt;
      &amp;quot;token_ids&amp;quot;: null,&lt;br /&gt;
      &amp;quot;routed_experts&amp;quot;: null&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;service_tier&amp;quot;: null,&lt;br /&gt;
  &amp;quot;system_fingerprint&amp;quot;: &amp;quot;vllm-0.24.0-28f19b20&amp;quot;,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 64,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 74,&lt;br /&gt;
    &amp;quot;completion_tokens&amp;quot;: 10,&lt;br /&gt;
    &amp;quot;prompt_tokens_details&amp;quot;: null&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;prompt_logprobs&amp;quot;: null,&lt;br /&gt;
  &amp;quot;prompt_token_ids&amp;quot;: null,&lt;br /&gt;
  &amp;quot;prompt_text&amp;quot;: null,&lt;br /&gt;
  &amp;quot;kv_transfer_params&amp;quot;: null&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1070</id>
		<title>Kubernetes management</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1070"/>
		<updated>2026-06-23T08:30:05Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This page describes the creation and management of Kubernetes clusters in our OpenStack-based stoney cloud using the Magnum container orchestration engine (COE).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This page is a work-in-progress, so if you face any challenges, please contact us with the specific issue.&lt;br /&gt;
&lt;br /&gt;
= Authentication with application credentials =&lt;br /&gt;
When interacting with the OpenStack API, be it via CLI or through Terraform / OpenTofu, you have two possibilities for authentication:&lt;br /&gt;
* Your username and password&lt;br /&gt;
* Application credentials&lt;br /&gt;
&lt;br /&gt;
When using application credentials, it is important to use ones that have been configured with &amp;lt;code&amp;gt;Unrestricted=True&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;bash&#039;&amp;gt;&lt;br /&gt;
application_credential_name=opentofu&lt;br /&gt;
&lt;br /&gt;
openstack application credential create \&lt;br /&gt;
  --unrestricted \&lt;br /&gt;
  ${application_credential_name}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;text&#039; highlight=9&amp;gt;&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| Field        | Value                                                                                  |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| id           | 3db9f5b71b8f4dc4889c552feb188db3                                                       |&lt;br /&gt;
| name         | opentofu                                                                               |&lt;br /&gt;
| description  | None                                                                                   |&lt;br /&gt;
| project_id   | 51350793d7424136a058221a7530b675                                                       |&lt;br /&gt;
| roles        | reader _member_ member                                                                 |&lt;br /&gt;
| unrestricted | True                                                                                   |&lt;br /&gt;
| access_rules | []                                                                                     |&lt;br /&gt;
| expires_at   | None                                                                                   |&lt;br /&gt;
| secret       | AGBBjyWgSgW4bZfsOdH8WjD-_OY55Szo3SLPqSht78OXsBbWSvTmPMz24_9gwodxTGSJ5-Lttz5mK8ZLoGMPOQ |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-| OpenStack dashboard =&lt;br /&gt;
Navigate to &amp;lt;code&amp;gt;Identity -&amp;gt; Application Credentials&amp;lt;/code&amp;gt;, then click the button &amp;lt;code&amp;gt;+Create Application Credential&amp;lt;/code&amp;gt; in the upper right corner.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 001.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; mask, fill in the &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; and make sure to check the &amp;lt;code&amp;gt;Unrestricted (dangerous)&amp;lt;/code&amp;gt; check box. Then click the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 002.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
You will now be presented with a view of the newly created application credential.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 003.png|1000px]]&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Images =&lt;br /&gt;
To list available Kubernetes images, use &amp;lt;code&amp;gt;openstack image list&amp;lt;/code&amp;gt; with the following [https://github.com/mikefarah/yq yq]/[https://jqlang.github.io/jq/ jq] filter:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| Using YAML with yq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format yaml \&lt;br /&gt;
  | yq &#039;[ .[] | select(.Name != null) | select(.Name | match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
- ID: da535156-e7c8-461d-a0ed-03bcf878d5a6&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.28.11&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: aa1eb1ec-c358-4bd6-a606-5272de053484&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.29.6&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: db68e8e8-d4b4-4c4f-af41-4166eb33973d&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.30.2&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-| Using JSON with jq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format json | jq &#039;[ .[] | select(.Name | . != null and match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;da535156-e7c8-461d-a0ed-03bcf878d5a6&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.28.11&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;aa1eb1ec-c358-4bd6-a606-5272de053484&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.29.6&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;db68e8e8-d4b4-4c4f-af41-4166eb33973d&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.30.2&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cluster template =&lt;br /&gt;
== Cluster template - List ==&lt;br /&gt;
To list existing cluster templates, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to have a list of the cluster templates sorted by their name. To do so, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list --format json \&lt;br /&gt;
  | jq --raw-output &#039;sort_by(.name) | .[] | &amp;quot;\(.uuid) \(.name)&amp;quot;&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template create&amp;lt;/code&amp;gt; to create a cluster template:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to use:&lt;br /&gt;
image=c539d525-d912-4acb-a7c3-bfcaf5f533c5 # Ubuntu 22.04 (20240605): Kubernetes v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster template to create:&lt;br /&gt;
cluster_template=&#039;&#039;  # For example: cluster_template=&#039;kubernetes-1.30.1&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template create &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --coe kubernetes \&lt;br /&gt;
  --image &amp;quot;$image&amp;quot; \&lt;br /&gt;
  --external-network public \&lt;br /&gt;
  --master-flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --master-lb-enabled&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster template kubernetes-1.30.2 accepted&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| Field                 | Value                                |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| insecure_registry     | -                                    |&lt;br /&gt;
| labels                | {}                                   |&lt;br /&gt;
| updated_at            | -                                    |&lt;br /&gt;
| floating_ip_enabled   | True                                 |&lt;br /&gt;
| fixed_subnet          | -                                    |&lt;br /&gt;
| master_flavor_id      | Standard Düdingen c002m0004          |&lt;br /&gt;
| uuid                  | d69969e7-1239-4810-b092-c758d3e9ef2e |&lt;br /&gt;
| no_proxy              | -                                    |&lt;br /&gt;
| https_proxy           | -                                    |&lt;br /&gt;
| tls_disabled          | False                                |&lt;br /&gt;
| keypair_id            | -                                    |&lt;br /&gt;
| public                | True                                 |&lt;br /&gt;
| http_proxy            | -                                    |&lt;br /&gt;
| docker_volume_size    | -                                    |&lt;br /&gt;
| server_type           | vm                                   |&lt;br /&gt;
| external_network_id   | public                               |&lt;br /&gt;
| cluster_distro        | ubuntu                               |&lt;br /&gt;
| image_id              | db68e8e8-d4b4-4c4f-af41-4166eb33973d |&lt;br /&gt;
| volume_driver         | -                                    |&lt;br /&gt;
| registry_enabled      | False                                |&lt;br /&gt;
| docker_storage_driver | overlay2                             |&lt;br /&gt;
| apiserver_port        | -                                    |&lt;br /&gt;
| name                  | kubernetes-1.30.2                    |&lt;br /&gt;
| created_at            | 2024-08-07T14:39:52.314174+00:00     |&lt;br /&gt;
| network_driver        | flannel                              |&lt;br /&gt;
| fixed_network         | -                                    |&lt;br /&gt;
| coe                   | kubernetes                           |&lt;br /&gt;
| flavor_id             | Standard Düdingen c002m0004          |&lt;br /&gt;
| master_lb_enabled     | True                                 |&lt;br /&gt;
| dns_nameserver        | 8.8.8.8                              |&lt;br /&gt;
| hidden                | False                                |&lt;br /&gt;
| tags                  | -                                    |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the argument &amp;lt;code&amp;gt;--external-network public&amp;lt;/code&amp;gt; will use the default floating IP addresses. If you wish to use a different network, replace &amp;lt;code&amp;gt;public&amp;lt;/code&amp;gt; accordingly.&lt;br /&gt;
&lt;br /&gt;
For a list of all labels see [https://docs.openstack.org/magnum/latest/user/#labels Magnum User Guide - Labels].&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template delete&amp;lt;/code&amp;gt; to delete a cluster template:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to delete:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template delete &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cluster =&lt;br /&gt;
== Cluster - List ==&lt;br /&gt;
To list existing clusters, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt; to create a cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster to create:&lt;br /&gt;
cluster_name=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster create \&lt;br /&gt;
  --cluster-template &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --master-count 1 \&lt;br /&gt;
  --node-count 2 \&lt;br /&gt;
   &amp;quot;$cluster_name&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster 9bb54949-2469-4b7e-99c8-4cb2730d4e8f accepted&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
* &amp;lt;code&amp;gt;--master-count&amp;lt;/code&amp;gt;: number of control plane nodes. Note that the number of control plane nodes must be odd due to etcd. Cluster creation will fail if the number of control plane nodes is even.&lt;br /&gt;
* &amp;lt;code&amp;gt;--node-count&amp;lt;/code&amp;gt;: number of worker nodes.&lt;br /&gt;
|-| OpenTofu/Terraform =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;tf&amp;quot;&amp;gt;&lt;br /&gt;
data &amp;quot;openstack_containerinfra_clustertemplate_v1&amp;quot; &amp;quot;k8s_template_1_30&amp;quot; {&lt;br /&gt;
  name = &amp;quot;kubernetes-1.30.2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
resource &amp;quot;openstack_containerinfra_cluster_v1&amp;quot; &amp;quot;cluster_1&amp;quot; {&lt;br /&gt;
  name                = &amp;quot;cluster-1&amp;quot;&lt;br /&gt;
  cluster_template_id = data.openstack_containerinfra_clustertemplate_v1.k8s_template_1_30.id&lt;br /&gt;
  master_count        = 1&lt;br /&gt;
  node_count          = 2&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After creating the cluster, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster to be created): &lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
Status during cluster creation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_IN_PROGRESS | None          |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Status after that the cluster has been successfully created:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_COMPLETE    | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster delete&amp;lt;/code&amp;gt; to delete a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to delete:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster delete &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Access ==&lt;br /&gt;
To access a created cluster with &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;helm&amp;lt;/code&amp;gt; etc., use &amp;lt;code&amp;gt;openstack coe cluster config&amp;lt;/code&amp;gt; to retrieve the cluster&#039;s configuration (essentially the &amp;quot;kubeconfig&amp;quot; file):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Path to the directory where the Kubeconfig file will be stored:&lt;br /&gt;
directory=&amp;quot;$HOME&amp;quot;/.kube&lt;br /&gt;
&lt;br /&gt;
# Make sure the directory exists:&lt;br /&gt;
mkdir --parent &amp;quot;$directory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Download the kubeconfig.&lt;br /&gt;
# This will create the kubeconfig file at $directory/config&lt;br /&gt;
openstack coe cluster config --dir &amp;quot;$directory&amp;quot; &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on where the kubeconfig file has been store, you will need to set the environment variable &amp;lt;code&amp;gt;KUBECONFIG&amp;lt;/code&amp;gt; accordingly (if you used the directory &amp;lt;code&amp;gt;.kube&amp;lt;/code&amp;gt; in your home directory, this step is not required as &amp;lt;code&amp;gt;~/.kube/config&amp;lt;/code&amp;gt; is the default kubeconfig path):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export KUBECONFIG=/path/to/kube/config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will now be able to access the cluster using &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl get node -o wide&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
NAME                                                     STATUS   ROLES           AGE   VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-control-plane-jl86d          Ready    control-plane   45m   v1.28.11   10.0.0.149    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-default-worker-b2c7j-5bh2w   Ready    &amp;lt;none&amp;gt;          44m   v1.28.11   10.0.0.150    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Scaling ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster resize&amp;lt;/code&amp;gt; to change the number of worker nodes in a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Number of worker nodes, for example &#039;6&#039;:&lt;br /&gt;
nodes=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster resize &amp;quot;$cluster&amp;quot; &amp;quot;$nodes&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Upgrade ==&lt;br /&gt;
To upgrade a cluster (upgrading the version of Kubernetes), a new [[#Creation - Cluster template | cluster template needs to be created]] first. This cluster template must use a newer Kubernetes version than the one used in your current cluster template.&lt;br /&gt;
&lt;br /&gt;
After creating the cluster template, use &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt; to assign the new cluster template to your cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to upgrade:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# ID or name of the new cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster upgrade &amp;quot;$cluster&amp;quot; &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to upgrade cluster sst-yde-test-1 has been accepted.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt;, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster upgrade/downgrade to be completed):&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
During the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_IN_PROGRESS | UNHEALTHY     |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status          | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_COMPLETE | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Downgrade ==&lt;br /&gt;
A downgrade of a cluster works the same as an [[#Upgrade | Upgrade]], but you will have to use a cluster template that uses an image with an older Kubernetes version.&lt;br /&gt;
&lt;br /&gt;
= Node groups =&lt;br /&gt;
Node groups are used to create Kubernetes nodes with different properties (for example flavors).&lt;br /&gt;
&lt;br /&gt;
When creating a cluster, the following two node groups are created by default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| uuid                                 | name           | flavor_id                   | image_id                             | node_count | status          | role   |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| 5914ba24-99e5-4adf-b1a7-f53f8872d001 | default-master | Standard Düdingen c002m0004 | aa1eb1ec-c358-4bd6-a606-5272de053484 |          1 | CREATE_COMPLETE | master |&lt;br /&gt;
| 93e2c2c4-e4b1-4874-ad64-2b832868ff10 | default-worker | Standard Düdingen c002m0004 | aa1eb1ec-c358-4bd6-a606-5272de053484 |          1 | CREATE_COMPLETE | worker |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The node group &amp;lt;code&amp;gt;default-master&amp;lt;/code&amp;gt; is used for Kubernetes control plane nodes and &amp;lt;code&amp;gt;default-worker&amp;lt;/code&amp;gt; for Kubernetes worker nodes.&lt;br /&gt;
&lt;br /&gt;
== Node groups - List ==&lt;br /&gt;
To list existing node groups, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Cluster name or ID&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe nodegroup list &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| uuid                                 | name           | flavor_id                   | image_id                             | node_count | status          | role   |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| 39244c46-410c-4433-a305-cf382b75ed7f | default-master | Standard Düdingen c002m0004 | b00206ec-fb4f-46f2-8046-b0c0b79e8aea |          1 | CREATE_COMPLETE | master |&lt;br /&gt;
| 123edba7-c4d8-4d46-a1d6-0712a8099ecc | default-worker | Standard Düdingen c004m0015 | b00206ec-fb4f-46f2-8046-b0c0b79e8aea |          0 | UPDATE_COMPLETE | worker |&lt;br /&gt;
| 2c49f417-42b8-49f7-9a97-3f4fc316bb5c | worker         | Standard Düdingen c004m0016 | b00206ec-fb4f-46f2-8046-b0c0b79e8aea |          2 | CREATE_COMPLETE | worker |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Node groups - Creation ==&lt;br /&gt;
To create a new node group, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Cluster name or ID&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the new node group&lt;br /&gt;
node_group_name=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Desired flavor name (not ID), e.g. &#039;Standard Düdingen c004m0016&#039;&lt;br /&gt;
flavor=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Worker node count&lt;br /&gt;
node_count=1&lt;br /&gt;
&lt;br /&gt;
openstack coe nodegroup create &amp;quot;$cluster&amp;quot; &amp;quot;$node_group_name&amp;quot; --flavor &amp;quot;$flavor&amp;quot; --node-count &amp;quot;$node_count&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Node groups - Deletion ==&lt;br /&gt;
To delete an existing node group, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Cluster name or ID&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the node group to delete&lt;br /&gt;
node_group_name=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe nodegroup delete &amp;quot;$cluster&amp;quot; &amp;quot;$node_group&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; the default node groups &amp;lt;code&amp;gt;default-master&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;default-worker&amp;lt;/code&amp;gt; cannot be deleted.&lt;br /&gt;
&lt;br /&gt;
== Node groups - Scaling ==&lt;br /&gt;
To change the number of nodes of a specific node group, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Cluster name or ID&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Node group name or ID&lt;br /&gt;
node_group=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Desired node count&lt;br /&gt;
node_count=1&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster resize &amp;quot;$cluster&amp;quot; --nodegroup &amp;quot;$node_group&amp;quot; &amp;quot;$node_count&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
== Troubleshooting - Adjusting the Kubernetes image label kube_version ==&lt;br /&gt;
When creating a cluster using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;, you might encounter the following error:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Image c539d525-d912-4acb-a7c3-bfcaf5f533c5 does not have a kube_version property.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To fix this problem, add the &amp;lt;code&amp;gt;kube_version&amp;lt;/code&amp;gt; property to the image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to adjust:&lt;br /&gt;
image_id=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# The Kubernetes version of the image:&lt;br /&gt;
k8s_image_version=v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Adjust the image and add the &amp;quot;kube_version&amp;quot; property:&lt;br /&gt;
openstack image set &amp;quot;$image_id&amp;quot; --property kube_version=&amp;quot;$k8s_image_version&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After adjust the image property you will have to delete the existing cluster and re-create it using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category: Kubernetes]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1069</id>
		<title>Kubernetes management</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1069"/>
		<updated>2026-06-23T08:29:56Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Node groups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This page describes the creation and management of Kubernetes clusters in our OpenStack-based stoney cloud using the Magnum container orchestration engine (COE).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This page is a work-in-progress, so if you face any challenges, please contact us with the specific issue.&lt;br /&gt;
&lt;br /&gt;
= Authentication with application credentials =&lt;br /&gt;
When interacting with the OpenStack API, be it via CLI or through Terraform / OpenTofu, you have two possibilities for authentication:&lt;br /&gt;
* Your username and password&lt;br /&gt;
* Application credentials&lt;br /&gt;
&lt;br /&gt;
When using application credentials, it is important to use ones that have been configured with &amp;lt;code&amp;gt;Unrestricted=True&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;bash&#039;&amp;gt;&lt;br /&gt;
application_credential_name=opentofu&lt;br /&gt;
&lt;br /&gt;
openstack application credential create \&lt;br /&gt;
  --unrestricted \&lt;br /&gt;
  ${application_credential_name}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;text&#039; highlight=9&amp;gt;&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| Field        | Value                                                                                  |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| id           | 3db9f5b71b8f4dc4889c552feb188db3                                                       |&lt;br /&gt;
| name         | opentofu                                                                               |&lt;br /&gt;
| description  | None                                                                                   |&lt;br /&gt;
| project_id   | 51350793d7424136a058221a7530b675                                                       |&lt;br /&gt;
| roles        | reader _member_ member                                                                 |&lt;br /&gt;
| unrestricted | True                                                                                   |&lt;br /&gt;
| access_rules | []                                                                                     |&lt;br /&gt;
| expires_at   | None                                                                                   |&lt;br /&gt;
| secret       | AGBBjyWgSgW4bZfsOdH8WjD-_OY55Szo3SLPqSht78OXsBbWSvTmPMz24_9gwodxTGSJ5-Lttz5mK8ZLoGMPOQ |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-| OpenStack dashboard =&lt;br /&gt;
Navigate to &amp;lt;code&amp;gt;Identity -&amp;gt; Application Credentials&amp;lt;/code&amp;gt;, then click the button &amp;lt;code&amp;gt;+Create Application Credential&amp;lt;/code&amp;gt; in the upper right corner.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 001.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; mask, fill in the &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; and make sure to check the &amp;lt;code&amp;gt;Unrestricted (dangerous)&amp;lt;/code&amp;gt; check box. Then click the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 002.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
You will now be presented with a view of the newly created application credential.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 003.png|1000px]]&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Images =&lt;br /&gt;
To list available Kubernetes images, use &amp;lt;code&amp;gt;openstack image list&amp;lt;/code&amp;gt; with the following [https://github.com/mikefarah/yq yq]/[https://jqlang.github.io/jq/ jq] filter:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| Using YAML with yq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format yaml \&lt;br /&gt;
  | yq &#039;[ .[] | select(.Name != null) | select(.Name | match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
- ID: da535156-e7c8-461d-a0ed-03bcf878d5a6&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.28.11&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: aa1eb1ec-c358-4bd6-a606-5272de053484&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.29.6&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: db68e8e8-d4b4-4c4f-af41-4166eb33973d&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.30.2&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-| Using JSON with jq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format json | jq &#039;[ .[] | select(.Name | . != null and match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;da535156-e7c8-461d-a0ed-03bcf878d5a6&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.28.11&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;aa1eb1ec-c358-4bd6-a606-5272de053484&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.29.6&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;db68e8e8-d4b4-4c4f-af41-4166eb33973d&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.30.2&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cluster template =&lt;br /&gt;
== Cluster template - List ==&lt;br /&gt;
To list existing cluster templates, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to have a list of the cluster templates sorted by their name. To do so, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list --format json \&lt;br /&gt;
  | jq --raw-output &#039;sort_by(.name) | .[] | &amp;quot;\(.uuid) \(.name)&amp;quot;&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template create&amp;lt;/code&amp;gt; to create a cluster template:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to use:&lt;br /&gt;
image=c539d525-d912-4acb-a7c3-bfcaf5f533c5 # Ubuntu 22.04 (20240605): Kubernetes v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster template to create:&lt;br /&gt;
cluster_template=&#039;&#039;  # For example: cluster_template=&#039;kubernetes-1.30.1&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template create &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --coe kubernetes \&lt;br /&gt;
  --image &amp;quot;$image&amp;quot; \&lt;br /&gt;
  --external-network public \&lt;br /&gt;
  --master-flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --master-lb-enabled&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster template kubernetes-1.30.2 accepted&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| Field                 | Value                                |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| insecure_registry     | -                                    |&lt;br /&gt;
| labels                | {}                                   |&lt;br /&gt;
| updated_at            | -                                    |&lt;br /&gt;
| floating_ip_enabled   | True                                 |&lt;br /&gt;
| fixed_subnet          | -                                    |&lt;br /&gt;
| master_flavor_id      | Standard Düdingen c002m0004          |&lt;br /&gt;
| uuid                  | d69969e7-1239-4810-b092-c758d3e9ef2e |&lt;br /&gt;
| no_proxy              | -                                    |&lt;br /&gt;
| https_proxy           | -                                    |&lt;br /&gt;
| tls_disabled          | False                                |&lt;br /&gt;
| keypair_id            | -                                    |&lt;br /&gt;
| public                | True                                 |&lt;br /&gt;
| http_proxy            | -                                    |&lt;br /&gt;
| docker_volume_size    | -                                    |&lt;br /&gt;
| server_type           | vm                                   |&lt;br /&gt;
| external_network_id   | public                               |&lt;br /&gt;
| cluster_distro        | ubuntu                               |&lt;br /&gt;
| image_id              | db68e8e8-d4b4-4c4f-af41-4166eb33973d |&lt;br /&gt;
| volume_driver         | -                                    |&lt;br /&gt;
| registry_enabled      | False                                |&lt;br /&gt;
| docker_storage_driver | overlay2                             |&lt;br /&gt;
| apiserver_port        | -                                    |&lt;br /&gt;
| name                  | kubernetes-1.30.2                    |&lt;br /&gt;
| created_at            | 2024-08-07T14:39:52.314174+00:00     |&lt;br /&gt;
| network_driver        | flannel                              |&lt;br /&gt;
| fixed_network         | -                                    |&lt;br /&gt;
| coe                   | kubernetes                           |&lt;br /&gt;
| flavor_id             | Standard Düdingen c002m0004          |&lt;br /&gt;
| master_lb_enabled     | True                                 |&lt;br /&gt;
| dns_nameserver        | 8.8.8.8                              |&lt;br /&gt;
| hidden                | False                                |&lt;br /&gt;
| tags                  | -                                    |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the argument &amp;lt;code&amp;gt;--external-network public&amp;lt;/code&amp;gt; will use the default floating IP addresses. If you wish to use a different network, replace &amp;lt;code&amp;gt;public&amp;lt;/code&amp;gt; accordingly.&lt;br /&gt;
&lt;br /&gt;
For a list of all labels see [https://docs.openstack.org/magnum/latest/user/#labels Magnum User Guide - Labels].&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template delete&amp;lt;/code&amp;gt; to delete a cluster template:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to delete:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template delete &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cluster =&lt;br /&gt;
== Cluster - List ==&lt;br /&gt;
To list existing clusters, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt; to create a cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster to create:&lt;br /&gt;
cluster_name=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster create \&lt;br /&gt;
  --cluster-template &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --master-count 1 \&lt;br /&gt;
  --node-count 2 \&lt;br /&gt;
   &amp;quot;$cluster_name&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster 9bb54949-2469-4b7e-99c8-4cb2730d4e8f accepted&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
* &amp;lt;code&amp;gt;--master-count&amp;lt;/code&amp;gt;: number of control plane nodes. Note that the number of control plane nodes must be odd due to etcd. Cluster creation will fail if the number of control plane nodes is even.&lt;br /&gt;
* &amp;lt;code&amp;gt;--node-count&amp;lt;/code&amp;gt;: number of worker nodes.&lt;br /&gt;
|-| OpenTofu/Terraform =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;tf&amp;quot;&amp;gt;&lt;br /&gt;
data &amp;quot;openstack_containerinfra_clustertemplate_v1&amp;quot; &amp;quot;k8s_template_1_30&amp;quot; {&lt;br /&gt;
  name = &amp;quot;kubernetes-1.30.2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
resource &amp;quot;openstack_containerinfra_cluster_v1&amp;quot; &amp;quot;cluster_1&amp;quot; {&lt;br /&gt;
  name                = &amp;quot;cluster-1&amp;quot;&lt;br /&gt;
  cluster_template_id = data.openstack_containerinfra_clustertemplate_v1.k8s_template_1_30.id&lt;br /&gt;
  master_count        = 1&lt;br /&gt;
  node_count          = 2&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After creating the cluster, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster to be created): &lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
Status during cluster creation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_IN_PROGRESS | None          |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Status after that the cluster has been successfully created:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_COMPLETE    | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster delete&amp;lt;/code&amp;gt; to delete a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to delete:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster delete &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Access ==&lt;br /&gt;
To access a created cluster with &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;helm&amp;lt;/code&amp;gt; etc., use &amp;lt;code&amp;gt;openstack coe cluster config&amp;lt;/code&amp;gt; to retrieve the cluster&#039;s configuration (essentially the &amp;quot;kubeconfig&amp;quot; file):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Path to the directory where the Kubeconfig file will be stored:&lt;br /&gt;
directory=&amp;quot;$HOME&amp;quot;/.kube&lt;br /&gt;
&lt;br /&gt;
# Make sure the directory exists:&lt;br /&gt;
mkdir --parent &amp;quot;$directory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Download the kubeconfig.&lt;br /&gt;
# This will create the kubeconfig file at $directory/config&lt;br /&gt;
openstack coe cluster config --dir &amp;quot;$directory&amp;quot; &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on where the kubeconfig file has been store, you will need to set the environment variable &amp;lt;code&amp;gt;KUBECONFIG&amp;lt;/code&amp;gt; accordingly (if you used the directory &amp;lt;code&amp;gt;.kube&amp;lt;/code&amp;gt; in your home directory, this step is not required as &amp;lt;code&amp;gt;~/.kube/config&amp;lt;/code&amp;gt; is the default kubeconfig path):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export KUBECONFIG=/path/to/kube/config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will now be able to access the cluster using &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl get node -o wide&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
NAME                                                     STATUS   ROLES           AGE   VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-control-plane-jl86d          Ready    control-plane   45m   v1.28.11   10.0.0.149    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-default-worker-b2c7j-5bh2w   Ready    &amp;lt;none&amp;gt;          44m   v1.28.11   10.0.0.150    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Scaling ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster resize&amp;lt;/code&amp;gt; to change the number of worker nodes in a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Number of worker nodes, for example &#039;6&#039;:&lt;br /&gt;
nodes=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster resize &amp;quot;$cluster&amp;quot; &amp;quot;$nodes&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Upgrade ==&lt;br /&gt;
To upgrade a cluster (upgrading the version of Kubernetes), a new [[#Creation - Cluster template | cluster template needs to be created]] first. This cluster template must use a newer Kubernetes version than the one used in your current cluster template.&lt;br /&gt;
&lt;br /&gt;
After creating the cluster template, use &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt; to assign the new cluster template to your cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to upgrade:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# ID or name of the new cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster upgrade &amp;quot;$cluster&amp;quot; &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to upgrade cluster sst-yde-test-1 has been accepted.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt;, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster upgrade/downgrade to be completed):&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
During the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_IN_PROGRESS | UNHEALTHY     |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status          | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_COMPLETE | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Downgrade ==&lt;br /&gt;
A downgrade of a cluster works the same as an [[#Upgrade | Upgrade]], but you will have to use a cluster template that uses an image with an older Kubernetes version.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
== Troubleshooting - Adjusting the Kubernetes image label kube_version ==&lt;br /&gt;
When creating a cluster using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;, you might encounter the following error:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Image c539d525-d912-4acb-a7c3-bfcaf5f533c5 does not have a kube_version property.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To fix this problem, add the &amp;lt;code&amp;gt;kube_version&amp;lt;/code&amp;gt; property to the image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to adjust:&lt;br /&gt;
image_id=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# The Kubernetes version of the image:&lt;br /&gt;
k8s_image_version=v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Adjust the image and add the &amp;quot;kube_version&amp;quot; property:&lt;br /&gt;
openstack image set &amp;quot;$image_id&amp;quot; --property kube_version=&amp;quot;$k8s_image_version&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After adjust the image property you will have to delete the existing cluster and re-create it using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category: Kubernetes]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1068</id>
		<title>Kubernetes management</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1068"/>
		<updated>2026-06-23T08:29:19Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Node groups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This page describes the creation and management of Kubernetes clusters in our OpenStack-based stoney cloud using the Magnum container orchestration engine (COE).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This page is a work-in-progress, so if you face any challenges, please contact us with the specific issue.&lt;br /&gt;
&lt;br /&gt;
= Authentication with application credentials =&lt;br /&gt;
When interacting with the OpenStack API, be it via CLI or through Terraform / OpenTofu, you have two possibilities for authentication:&lt;br /&gt;
* Your username and password&lt;br /&gt;
* Application credentials&lt;br /&gt;
&lt;br /&gt;
When using application credentials, it is important to use ones that have been configured with &amp;lt;code&amp;gt;Unrestricted=True&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;bash&#039;&amp;gt;&lt;br /&gt;
application_credential_name=opentofu&lt;br /&gt;
&lt;br /&gt;
openstack application credential create \&lt;br /&gt;
  --unrestricted \&lt;br /&gt;
  ${application_credential_name}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;text&#039; highlight=9&amp;gt;&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| Field        | Value                                                                                  |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| id           | 3db9f5b71b8f4dc4889c552feb188db3                                                       |&lt;br /&gt;
| name         | opentofu                                                                               |&lt;br /&gt;
| description  | None                                                                                   |&lt;br /&gt;
| project_id   | 51350793d7424136a058221a7530b675                                                       |&lt;br /&gt;
| roles        | reader _member_ member                                                                 |&lt;br /&gt;
| unrestricted | True                                                                                   |&lt;br /&gt;
| access_rules | []                                                                                     |&lt;br /&gt;
| expires_at   | None                                                                                   |&lt;br /&gt;
| secret       | AGBBjyWgSgW4bZfsOdH8WjD-_OY55Szo3SLPqSht78OXsBbWSvTmPMz24_9gwodxTGSJ5-Lttz5mK8ZLoGMPOQ |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-| OpenStack dashboard =&lt;br /&gt;
Navigate to &amp;lt;code&amp;gt;Identity -&amp;gt; Application Credentials&amp;lt;/code&amp;gt;, then click the button &amp;lt;code&amp;gt;+Create Application Credential&amp;lt;/code&amp;gt; in the upper right corner.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 001.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; mask, fill in the &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; and make sure to check the &amp;lt;code&amp;gt;Unrestricted (dangerous)&amp;lt;/code&amp;gt; check box. Then click the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 002.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
You will now be presented with a view of the newly created application credential.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 003.png|1000px]]&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Images =&lt;br /&gt;
To list available Kubernetes images, use &amp;lt;code&amp;gt;openstack image list&amp;lt;/code&amp;gt; with the following [https://github.com/mikefarah/yq yq]/[https://jqlang.github.io/jq/ jq] filter:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| Using YAML with yq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format yaml \&lt;br /&gt;
  | yq &#039;[ .[] | select(.Name != null) | select(.Name | match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
- ID: da535156-e7c8-461d-a0ed-03bcf878d5a6&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.28.11&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: aa1eb1ec-c358-4bd6-a606-5272de053484&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.29.6&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: db68e8e8-d4b4-4c4f-af41-4166eb33973d&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.30.2&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-| Using JSON with jq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format json | jq &#039;[ .[] | select(.Name | . != null and match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;da535156-e7c8-461d-a0ed-03bcf878d5a6&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.28.11&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;aa1eb1ec-c358-4bd6-a606-5272de053484&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.29.6&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;db68e8e8-d4b4-4c4f-af41-4166eb33973d&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.30.2&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Node groups =&lt;br /&gt;
Node groups are used to create Kubernetes nodes with different properties (for example flavors).&lt;br /&gt;
&lt;br /&gt;
When creating a cluster, the following two node groups are created by default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| uuid                                 | name           | flavor_id                   | image_id                             | node_count | status          | role   |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| 5914ba24-99e5-4adf-b1a7-f53f8872d001 | default-master | Standard Düdingen c002m0004 | aa1eb1ec-c358-4bd6-a606-5272de053484 |          1 | CREATE_COMPLETE | master |&lt;br /&gt;
| 93e2c2c4-e4b1-4874-ad64-2b832868ff10 | default-worker | Standard Düdingen c002m0004 | aa1eb1ec-c358-4bd6-a606-5272de053484 |          1 | CREATE_COMPLETE | worker |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The node group &amp;lt;code&amp;gt;default-master&amp;lt;/code&amp;gt; is used for Kubernetes control plane nodes and &amp;lt;code&amp;gt;default-worker&amp;lt;/code&amp;gt; for Kubernetes worker nodes.&lt;br /&gt;
&lt;br /&gt;
== Node groups - List ==&lt;br /&gt;
To list existing node groups, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Cluster name or ID&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe nodegroup list &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| uuid                                 | name           | flavor_id                   | image_id                             | node_count | status          | role   |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| 39244c46-410c-4433-a305-cf382b75ed7f | default-master | Standard Düdingen c002m0004 | b00206ec-fb4f-46f2-8046-b0c0b79e8aea |          1 | CREATE_COMPLETE | master |&lt;br /&gt;
| 123edba7-c4d8-4d46-a1d6-0712a8099ecc | default-worker | Standard Düdingen c004m0015 | b00206ec-fb4f-46f2-8046-b0c0b79e8aea |          0 | UPDATE_COMPLETE | worker |&lt;br /&gt;
| 2c49f417-42b8-49f7-9a97-3f4fc316bb5c | worker         | Standard Düdingen c004m0016 | b00206ec-fb4f-46f2-8046-b0c0b79e8aea |          2 | CREATE_COMPLETE | worker |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Node groups - Creation ==&lt;br /&gt;
To create a new node group, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Cluster name or ID&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the new node group&lt;br /&gt;
node_group_name=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Desired flavor name (not ID), e.g. &#039;Standard Düdingen c004m0016&#039;&lt;br /&gt;
flavor=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Worker node count&lt;br /&gt;
node_count=1&lt;br /&gt;
&lt;br /&gt;
openstack coe nodegroup create &amp;quot;$cluster&amp;quot; &amp;quot;$node_group_name&amp;quot; --flavor &amp;quot;$flavor&amp;quot; --node-count &amp;quot;$node_count&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Node groups - Deletion ==&lt;br /&gt;
To delete an existing node group, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Cluster name or ID&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the node group to delete&lt;br /&gt;
node_group_name=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe nodegroup delete &amp;quot;$cluster&amp;quot; &amp;quot;$node_group&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; the default node groups &amp;lt;code&amp;gt;default-master&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;default-worker&amp;lt;/code&amp;gt; cannot be deleted.&lt;br /&gt;
&lt;br /&gt;
== Node groups - Scaling ==&lt;br /&gt;
To change the number of nodes of a specific node group, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Cluster name or ID&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Node group name or ID&lt;br /&gt;
node_group=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Desired node count&lt;br /&gt;
node_count=1&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster resize &amp;quot;$cluster&amp;quot; --nodegroup &amp;quot;$node_group&amp;quot; &amp;quot;$node_count&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cluster template =&lt;br /&gt;
== Cluster template - List ==&lt;br /&gt;
To list existing cluster templates, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to have a list of the cluster templates sorted by their name. To do so, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list --format json \&lt;br /&gt;
  | jq --raw-output &#039;sort_by(.name) | .[] | &amp;quot;\(.uuid) \(.name)&amp;quot;&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template create&amp;lt;/code&amp;gt; to create a cluster template:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to use:&lt;br /&gt;
image=c539d525-d912-4acb-a7c3-bfcaf5f533c5 # Ubuntu 22.04 (20240605): Kubernetes v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster template to create:&lt;br /&gt;
cluster_template=&#039;&#039;  # For example: cluster_template=&#039;kubernetes-1.30.1&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template create &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --coe kubernetes \&lt;br /&gt;
  --image &amp;quot;$image&amp;quot; \&lt;br /&gt;
  --external-network public \&lt;br /&gt;
  --master-flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --master-lb-enabled&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster template kubernetes-1.30.2 accepted&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| Field                 | Value                                |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| insecure_registry     | -                                    |&lt;br /&gt;
| labels                | {}                                   |&lt;br /&gt;
| updated_at            | -                                    |&lt;br /&gt;
| floating_ip_enabled   | True                                 |&lt;br /&gt;
| fixed_subnet          | -                                    |&lt;br /&gt;
| master_flavor_id      | Standard Düdingen c002m0004          |&lt;br /&gt;
| uuid                  | d69969e7-1239-4810-b092-c758d3e9ef2e |&lt;br /&gt;
| no_proxy              | -                                    |&lt;br /&gt;
| https_proxy           | -                                    |&lt;br /&gt;
| tls_disabled          | False                                |&lt;br /&gt;
| keypair_id            | -                                    |&lt;br /&gt;
| public                | True                                 |&lt;br /&gt;
| http_proxy            | -                                    |&lt;br /&gt;
| docker_volume_size    | -                                    |&lt;br /&gt;
| server_type           | vm                                   |&lt;br /&gt;
| external_network_id   | public                               |&lt;br /&gt;
| cluster_distro        | ubuntu                               |&lt;br /&gt;
| image_id              | db68e8e8-d4b4-4c4f-af41-4166eb33973d |&lt;br /&gt;
| volume_driver         | -                                    |&lt;br /&gt;
| registry_enabled      | False                                |&lt;br /&gt;
| docker_storage_driver | overlay2                             |&lt;br /&gt;
| apiserver_port        | -                                    |&lt;br /&gt;
| name                  | kubernetes-1.30.2                    |&lt;br /&gt;
| created_at            | 2024-08-07T14:39:52.314174+00:00     |&lt;br /&gt;
| network_driver        | flannel                              |&lt;br /&gt;
| fixed_network         | -                                    |&lt;br /&gt;
| coe                   | kubernetes                           |&lt;br /&gt;
| flavor_id             | Standard Düdingen c002m0004          |&lt;br /&gt;
| master_lb_enabled     | True                                 |&lt;br /&gt;
| dns_nameserver        | 8.8.8.8                              |&lt;br /&gt;
| hidden                | False                                |&lt;br /&gt;
| tags                  | -                                    |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the argument &amp;lt;code&amp;gt;--external-network public&amp;lt;/code&amp;gt; will use the default floating IP addresses. If you wish to use a different network, replace &amp;lt;code&amp;gt;public&amp;lt;/code&amp;gt; accordingly.&lt;br /&gt;
&lt;br /&gt;
For a list of all labels see [https://docs.openstack.org/magnum/latest/user/#labels Magnum User Guide - Labels].&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template delete&amp;lt;/code&amp;gt; to delete a cluster template:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to delete:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template delete &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cluster =&lt;br /&gt;
== Cluster - List ==&lt;br /&gt;
To list existing clusters, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt; to create a cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster to create:&lt;br /&gt;
cluster_name=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster create \&lt;br /&gt;
  --cluster-template &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --master-count 1 \&lt;br /&gt;
  --node-count 2 \&lt;br /&gt;
   &amp;quot;$cluster_name&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster 9bb54949-2469-4b7e-99c8-4cb2730d4e8f accepted&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
* &amp;lt;code&amp;gt;--master-count&amp;lt;/code&amp;gt;: number of control plane nodes. Note that the number of control plane nodes must be odd due to etcd. Cluster creation will fail if the number of control plane nodes is even.&lt;br /&gt;
* &amp;lt;code&amp;gt;--node-count&amp;lt;/code&amp;gt;: number of worker nodes.&lt;br /&gt;
|-| OpenTofu/Terraform =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;tf&amp;quot;&amp;gt;&lt;br /&gt;
data &amp;quot;openstack_containerinfra_clustertemplate_v1&amp;quot; &amp;quot;k8s_template_1_30&amp;quot; {&lt;br /&gt;
  name = &amp;quot;kubernetes-1.30.2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
resource &amp;quot;openstack_containerinfra_cluster_v1&amp;quot; &amp;quot;cluster_1&amp;quot; {&lt;br /&gt;
  name                = &amp;quot;cluster-1&amp;quot;&lt;br /&gt;
  cluster_template_id = data.openstack_containerinfra_clustertemplate_v1.k8s_template_1_30.id&lt;br /&gt;
  master_count        = 1&lt;br /&gt;
  node_count          = 2&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After creating the cluster, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster to be created): &lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
Status during cluster creation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_IN_PROGRESS | None          |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Status after that the cluster has been successfully created:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_COMPLETE    | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster delete&amp;lt;/code&amp;gt; to delete a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to delete:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster delete &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Access ==&lt;br /&gt;
To access a created cluster with &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;helm&amp;lt;/code&amp;gt; etc., use &amp;lt;code&amp;gt;openstack coe cluster config&amp;lt;/code&amp;gt; to retrieve the cluster&#039;s configuration (essentially the &amp;quot;kubeconfig&amp;quot; file):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Path to the directory where the Kubeconfig file will be stored:&lt;br /&gt;
directory=&amp;quot;$HOME&amp;quot;/.kube&lt;br /&gt;
&lt;br /&gt;
# Make sure the directory exists:&lt;br /&gt;
mkdir --parent &amp;quot;$directory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Download the kubeconfig.&lt;br /&gt;
# This will create the kubeconfig file at $directory/config&lt;br /&gt;
openstack coe cluster config --dir &amp;quot;$directory&amp;quot; &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on where the kubeconfig file has been store, you will need to set the environment variable &amp;lt;code&amp;gt;KUBECONFIG&amp;lt;/code&amp;gt; accordingly (if you used the directory &amp;lt;code&amp;gt;.kube&amp;lt;/code&amp;gt; in your home directory, this step is not required as &amp;lt;code&amp;gt;~/.kube/config&amp;lt;/code&amp;gt; is the default kubeconfig path):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export KUBECONFIG=/path/to/kube/config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will now be able to access the cluster using &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl get node -o wide&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
NAME                                                     STATUS   ROLES           AGE   VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-control-plane-jl86d          Ready    control-plane   45m   v1.28.11   10.0.0.149    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-default-worker-b2c7j-5bh2w   Ready    &amp;lt;none&amp;gt;          44m   v1.28.11   10.0.0.150    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Scaling ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster resize&amp;lt;/code&amp;gt; to change the number of worker nodes in a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Number of worker nodes, for example &#039;6&#039;:&lt;br /&gt;
nodes=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster resize &amp;quot;$cluster&amp;quot; &amp;quot;$nodes&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Upgrade ==&lt;br /&gt;
To upgrade a cluster (upgrading the version of Kubernetes), a new [[#Creation - Cluster template | cluster template needs to be created]] first. This cluster template must use a newer Kubernetes version than the one used in your current cluster template.&lt;br /&gt;
&lt;br /&gt;
After creating the cluster template, use &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt; to assign the new cluster template to your cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to upgrade:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# ID or name of the new cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster upgrade &amp;quot;$cluster&amp;quot; &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to upgrade cluster sst-yde-test-1 has been accepted.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt;, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster upgrade/downgrade to be completed):&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
During the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_IN_PROGRESS | UNHEALTHY     |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status          | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_COMPLETE | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Downgrade ==&lt;br /&gt;
A downgrade of a cluster works the same as an [[#Upgrade | Upgrade]], but you will have to use a cluster template that uses an image with an older Kubernetes version.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
== Troubleshooting - Adjusting the Kubernetes image label kube_version ==&lt;br /&gt;
When creating a cluster using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;, you might encounter the following error:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Image c539d525-d912-4acb-a7c3-bfcaf5f533c5 does not have a kube_version property.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To fix this problem, add the &amp;lt;code&amp;gt;kube_version&amp;lt;/code&amp;gt; property to the image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to adjust:&lt;br /&gt;
image_id=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# The Kubernetes version of the image:&lt;br /&gt;
k8s_image_version=v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Adjust the image and add the &amp;quot;kube_version&amp;quot; property:&lt;br /&gt;
openstack image set &amp;quot;$image_id&amp;quot; --property kube_version=&amp;quot;$k8s_image_version&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After adjust the image property you will have to delete the existing cluster and re-create it using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category: Kubernetes]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1067</id>
		<title>Kubernetes management</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1067"/>
		<updated>2026-06-23T08:28:26Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Node groups - Creation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This page describes the creation and management of Kubernetes clusters in our OpenStack-based stoney cloud using the Magnum container orchestration engine (COE).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This page is a work-in-progress, so if you face any challenges, please contact us with the specific issue.&lt;br /&gt;
&lt;br /&gt;
= Authentication with application credentials =&lt;br /&gt;
When interacting with the OpenStack API, be it via CLI or through Terraform / OpenTofu, you have two possibilities for authentication:&lt;br /&gt;
* Your username and password&lt;br /&gt;
* Application credentials&lt;br /&gt;
&lt;br /&gt;
When using application credentials, it is important to use ones that have been configured with &amp;lt;code&amp;gt;Unrestricted=True&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;bash&#039;&amp;gt;&lt;br /&gt;
application_credential_name=opentofu&lt;br /&gt;
&lt;br /&gt;
openstack application credential create \&lt;br /&gt;
  --unrestricted \&lt;br /&gt;
  ${application_credential_name}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;text&#039; highlight=9&amp;gt;&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| Field        | Value                                                                                  |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| id           | 3db9f5b71b8f4dc4889c552feb188db3                                                       |&lt;br /&gt;
| name         | opentofu                                                                               |&lt;br /&gt;
| description  | None                                                                                   |&lt;br /&gt;
| project_id   | 51350793d7424136a058221a7530b675                                                       |&lt;br /&gt;
| roles        | reader _member_ member                                                                 |&lt;br /&gt;
| unrestricted | True                                                                                   |&lt;br /&gt;
| access_rules | []                                                                                     |&lt;br /&gt;
| expires_at   | None                                                                                   |&lt;br /&gt;
| secret       | AGBBjyWgSgW4bZfsOdH8WjD-_OY55Szo3SLPqSht78OXsBbWSvTmPMz24_9gwodxTGSJ5-Lttz5mK8ZLoGMPOQ |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-| OpenStack dashboard =&lt;br /&gt;
Navigate to &amp;lt;code&amp;gt;Identity -&amp;gt; Application Credentials&amp;lt;/code&amp;gt;, then click the button &amp;lt;code&amp;gt;+Create Application Credential&amp;lt;/code&amp;gt; in the upper right corner.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 001.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; mask, fill in the &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; and make sure to check the &amp;lt;code&amp;gt;Unrestricted (dangerous)&amp;lt;/code&amp;gt; check box. Then click the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 002.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
You will now be presented with a view of the newly created application credential.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 003.png|1000px]]&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Images =&lt;br /&gt;
To list available Kubernetes images, use &amp;lt;code&amp;gt;openstack image list&amp;lt;/code&amp;gt; with the following [https://github.com/mikefarah/yq yq]/[https://jqlang.github.io/jq/ jq] filter:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| Using YAML with yq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format yaml \&lt;br /&gt;
  | yq &#039;[ .[] | select(.Name != null) | select(.Name | match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
- ID: da535156-e7c8-461d-a0ed-03bcf878d5a6&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.28.11&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: aa1eb1ec-c358-4bd6-a606-5272de053484&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.29.6&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: db68e8e8-d4b4-4c4f-af41-4166eb33973d&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.30.2&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-| Using JSON with jq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format json | jq &#039;[ .[] | select(.Name | . != null and match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;da535156-e7c8-461d-a0ed-03bcf878d5a6&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.28.11&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;aa1eb1ec-c358-4bd6-a606-5272de053484&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.29.6&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;db68e8e8-d4b4-4c4f-af41-4166eb33973d&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.30.2&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Node groups =&lt;br /&gt;
Node groups are used to create Kubernetes nodes with different properties (for example flavors).&lt;br /&gt;
&lt;br /&gt;
When creating a cluster, the following two node groups are created by default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe nodegroup list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| uuid                                 | name           | flavor_id                   | image_id                             | node_count | status          | role   |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| 5914ba24-99e5-4adf-b1a7-f53f8872d001 | default-master | Standard Düdingen c002m0004 | aa1eb1ec-c358-4bd6-a606-5272de053484 |          1 | CREATE_COMPLETE | master |&lt;br /&gt;
| 93e2c2c4-e4b1-4874-ad64-2b832868ff10 | default-worker | Standard Düdingen c002m0004 | aa1eb1ec-c358-4bd6-a606-5272de053484 |          1 | CREATE_COMPLETE | worker |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The node group &amp;lt;code&amp;gt;default-master&amp;lt;/code&amp;gt; is used for Kubernetes control plane nodes and &amp;lt;code&amp;gt;default-worker&amp;lt;/code&amp;gt; for Kubernetes worker nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; when creating a new node group, you must use the flavor name and not the flavor ID, even though the column in the output of &amp;lt;code&amp;gt;openstack coe nodegroup list&amp;lt;/code&amp;gt; is named &amp;lt;code&amp;gt;flavor_id&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Node groups - List ==&lt;br /&gt;
To list existing node groups, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Cluster name or ID&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe nodegroup list &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| uuid                                 | name           | flavor_id                   | image_id                             | node_count | status          | role   |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| 39244c46-410c-4433-a305-cf382b75ed7f | default-master | Standard Düdingen c002m0004 | b00206ec-fb4f-46f2-8046-b0c0b79e8aea |          1 | CREATE_COMPLETE | master |&lt;br /&gt;
| 123edba7-c4d8-4d46-a1d6-0712a8099ecc | default-worker | Standard Düdingen c004m0015 | b00206ec-fb4f-46f2-8046-b0c0b79e8aea |          0 | UPDATE_COMPLETE | worker |&lt;br /&gt;
| 2c49f417-42b8-49f7-9a97-3f4fc316bb5c | worker         | Standard Düdingen c004m0016 | b00206ec-fb4f-46f2-8046-b0c0b79e8aea |          2 | CREATE_COMPLETE | worker |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Node groups - Creation ==&lt;br /&gt;
To create a new node group, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Cluster name or ID&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the new node group&lt;br /&gt;
node_group_name=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Desired flavor, e.g. &#039;Standard Düdingen c004m0016&#039;&lt;br /&gt;
flavor=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Worker node count&lt;br /&gt;
node_count=1&lt;br /&gt;
&lt;br /&gt;
openstack coe nodegroup create &amp;quot;$cluster&amp;quot; &amp;quot;$node_group_name&amp;quot; --flavor &amp;quot;$flavor&amp;quot; --node-count &amp;quot;$node_count&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Node groups - Deletion ==&lt;br /&gt;
To delete an existing node group, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Cluster name or ID&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the node group to delete&lt;br /&gt;
node_group_name=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe nodegroup delete &amp;quot;$cluster&amp;quot; &amp;quot;$node_group&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; the default node groups &amp;lt;code&amp;gt;default-master&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;default-worker&amp;lt;/code&amp;gt; cannot be deleted.&lt;br /&gt;
&lt;br /&gt;
== Node groups - Scaling ==&lt;br /&gt;
To change the number of nodes of a specific node group, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Cluster name or ID&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Node group name or ID&lt;br /&gt;
node_group=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Desired node count&lt;br /&gt;
node_count=1&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster resize &amp;quot;$cluster&amp;quot; --nodegroup &amp;quot;$node_group&amp;quot; &amp;quot;$node_count&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cluster template =&lt;br /&gt;
== Cluster template - List ==&lt;br /&gt;
To list existing cluster templates, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to have a list of the cluster templates sorted by their name. To do so, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list --format json \&lt;br /&gt;
  | jq --raw-output &#039;sort_by(.name) | .[] | &amp;quot;\(.uuid) \(.name)&amp;quot;&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template create&amp;lt;/code&amp;gt; to create a cluster template:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to use:&lt;br /&gt;
image=c539d525-d912-4acb-a7c3-bfcaf5f533c5 # Ubuntu 22.04 (20240605): Kubernetes v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster template to create:&lt;br /&gt;
cluster_template=&#039;&#039;  # For example: cluster_template=&#039;kubernetes-1.30.1&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template create &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --coe kubernetes \&lt;br /&gt;
  --image &amp;quot;$image&amp;quot; \&lt;br /&gt;
  --external-network public \&lt;br /&gt;
  --master-flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --master-lb-enabled&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster template kubernetes-1.30.2 accepted&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| Field                 | Value                                |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| insecure_registry     | -                                    |&lt;br /&gt;
| labels                | {}                                   |&lt;br /&gt;
| updated_at            | -                                    |&lt;br /&gt;
| floating_ip_enabled   | True                                 |&lt;br /&gt;
| fixed_subnet          | -                                    |&lt;br /&gt;
| master_flavor_id      | Standard Düdingen c002m0004          |&lt;br /&gt;
| uuid                  | d69969e7-1239-4810-b092-c758d3e9ef2e |&lt;br /&gt;
| no_proxy              | -                                    |&lt;br /&gt;
| https_proxy           | -                                    |&lt;br /&gt;
| tls_disabled          | False                                |&lt;br /&gt;
| keypair_id            | -                                    |&lt;br /&gt;
| public                | True                                 |&lt;br /&gt;
| http_proxy            | -                                    |&lt;br /&gt;
| docker_volume_size    | -                                    |&lt;br /&gt;
| server_type           | vm                                   |&lt;br /&gt;
| external_network_id   | public                               |&lt;br /&gt;
| cluster_distro        | ubuntu                               |&lt;br /&gt;
| image_id              | db68e8e8-d4b4-4c4f-af41-4166eb33973d |&lt;br /&gt;
| volume_driver         | -                                    |&lt;br /&gt;
| registry_enabled      | False                                |&lt;br /&gt;
| docker_storage_driver | overlay2                             |&lt;br /&gt;
| apiserver_port        | -                                    |&lt;br /&gt;
| name                  | kubernetes-1.30.2                    |&lt;br /&gt;
| created_at            | 2024-08-07T14:39:52.314174+00:00     |&lt;br /&gt;
| network_driver        | flannel                              |&lt;br /&gt;
| fixed_network         | -                                    |&lt;br /&gt;
| coe                   | kubernetes                           |&lt;br /&gt;
| flavor_id             | Standard Düdingen c002m0004          |&lt;br /&gt;
| master_lb_enabled     | True                                 |&lt;br /&gt;
| dns_nameserver        | 8.8.8.8                              |&lt;br /&gt;
| hidden                | False                                |&lt;br /&gt;
| tags                  | -                                    |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the argument &amp;lt;code&amp;gt;--external-network public&amp;lt;/code&amp;gt; will use the default floating IP addresses. If you wish to use a different network, replace &amp;lt;code&amp;gt;public&amp;lt;/code&amp;gt; accordingly.&lt;br /&gt;
&lt;br /&gt;
For a list of all labels see [https://docs.openstack.org/magnum/latest/user/#labels Magnum User Guide - Labels].&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template delete&amp;lt;/code&amp;gt; to delete a cluster template:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to delete:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template delete &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cluster =&lt;br /&gt;
== Cluster - List ==&lt;br /&gt;
To list existing clusters, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt; to create a cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster to create:&lt;br /&gt;
cluster_name=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster create \&lt;br /&gt;
  --cluster-template &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --master-count 1 \&lt;br /&gt;
  --node-count 2 \&lt;br /&gt;
   &amp;quot;$cluster_name&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster 9bb54949-2469-4b7e-99c8-4cb2730d4e8f accepted&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
* &amp;lt;code&amp;gt;--master-count&amp;lt;/code&amp;gt;: number of control plane nodes. Note that the number of control plane nodes must be odd due to etcd. Cluster creation will fail if the number of control plane nodes is even.&lt;br /&gt;
* &amp;lt;code&amp;gt;--node-count&amp;lt;/code&amp;gt;: number of worker nodes.&lt;br /&gt;
|-| OpenTofu/Terraform =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;tf&amp;quot;&amp;gt;&lt;br /&gt;
data &amp;quot;openstack_containerinfra_clustertemplate_v1&amp;quot; &amp;quot;k8s_template_1_30&amp;quot; {&lt;br /&gt;
  name = &amp;quot;kubernetes-1.30.2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
resource &amp;quot;openstack_containerinfra_cluster_v1&amp;quot; &amp;quot;cluster_1&amp;quot; {&lt;br /&gt;
  name                = &amp;quot;cluster-1&amp;quot;&lt;br /&gt;
  cluster_template_id = data.openstack_containerinfra_clustertemplate_v1.k8s_template_1_30.id&lt;br /&gt;
  master_count        = 1&lt;br /&gt;
  node_count          = 2&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After creating the cluster, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster to be created): &lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
Status during cluster creation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_IN_PROGRESS | None          |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Status after that the cluster has been successfully created:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_COMPLETE    | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster delete&amp;lt;/code&amp;gt; to delete a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to delete:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster delete &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Access ==&lt;br /&gt;
To access a created cluster with &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;helm&amp;lt;/code&amp;gt; etc., use &amp;lt;code&amp;gt;openstack coe cluster config&amp;lt;/code&amp;gt; to retrieve the cluster&#039;s configuration (essentially the &amp;quot;kubeconfig&amp;quot; file):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Path to the directory where the Kubeconfig file will be stored:&lt;br /&gt;
directory=&amp;quot;$HOME&amp;quot;/.kube&lt;br /&gt;
&lt;br /&gt;
# Make sure the directory exists:&lt;br /&gt;
mkdir --parent &amp;quot;$directory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Download the kubeconfig.&lt;br /&gt;
# This will create the kubeconfig file at $directory/config&lt;br /&gt;
openstack coe cluster config --dir &amp;quot;$directory&amp;quot; &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on where the kubeconfig file has been store, you will need to set the environment variable &amp;lt;code&amp;gt;KUBECONFIG&amp;lt;/code&amp;gt; accordingly (if you used the directory &amp;lt;code&amp;gt;.kube&amp;lt;/code&amp;gt; in your home directory, this step is not required as &amp;lt;code&amp;gt;~/.kube/config&amp;lt;/code&amp;gt; is the default kubeconfig path):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export KUBECONFIG=/path/to/kube/config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will now be able to access the cluster using &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl get node -o wide&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
NAME                                                     STATUS   ROLES           AGE   VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-control-plane-jl86d          Ready    control-plane   45m   v1.28.11   10.0.0.149    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-default-worker-b2c7j-5bh2w   Ready    &amp;lt;none&amp;gt;          44m   v1.28.11   10.0.0.150    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Scaling ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster resize&amp;lt;/code&amp;gt; to change the number of worker nodes in a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Number of worker nodes, for example &#039;6&#039;:&lt;br /&gt;
nodes=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster resize &amp;quot;$cluster&amp;quot; &amp;quot;$nodes&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Upgrade ==&lt;br /&gt;
To upgrade a cluster (upgrading the version of Kubernetes), a new [[#Creation - Cluster template | cluster template needs to be created]] first. This cluster template must use a newer Kubernetes version than the one used in your current cluster template.&lt;br /&gt;
&lt;br /&gt;
After creating the cluster template, use &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt; to assign the new cluster template to your cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to upgrade:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# ID or name of the new cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster upgrade &amp;quot;$cluster&amp;quot; &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to upgrade cluster sst-yde-test-1 has been accepted.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt;, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster upgrade/downgrade to be completed):&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
During the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_IN_PROGRESS | UNHEALTHY     |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status          | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_COMPLETE | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Downgrade ==&lt;br /&gt;
A downgrade of a cluster works the same as an [[#Upgrade | Upgrade]], but you will have to use a cluster template that uses an image with an older Kubernetes version.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
== Troubleshooting - Adjusting the Kubernetes image label kube_version ==&lt;br /&gt;
When creating a cluster using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;, you might encounter the following error:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Image c539d525-d912-4acb-a7c3-bfcaf5f533c5 does not have a kube_version property.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To fix this problem, add the &amp;lt;code&amp;gt;kube_version&amp;lt;/code&amp;gt; property to the image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to adjust:&lt;br /&gt;
image_id=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# The Kubernetes version of the image:&lt;br /&gt;
k8s_image_version=v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Adjust the image and add the &amp;quot;kube_version&amp;quot; property:&lt;br /&gt;
openstack image set &amp;quot;$image_id&amp;quot; --property kube_version=&amp;quot;$k8s_image_version&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After adjust the image property you will have to delete the existing cluster and re-create it using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category: Kubernetes]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1066</id>
		<title>Kubernetes management</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1066"/>
		<updated>2026-06-23T08:18:16Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Node groups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This page describes the creation and management of Kubernetes clusters in our OpenStack-based stoney cloud using the Magnum container orchestration engine (COE).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This page is a work-in-progress, so if you face any challenges, please contact us with the specific issue.&lt;br /&gt;
&lt;br /&gt;
= Authentication with application credentials =&lt;br /&gt;
When interacting with the OpenStack API, be it via CLI or through Terraform / OpenTofu, you have two possibilities for authentication:&lt;br /&gt;
* Your username and password&lt;br /&gt;
* Application credentials&lt;br /&gt;
&lt;br /&gt;
When using application credentials, it is important to use ones that have been configured with &amp;lt;code&amp;gt;Unrestricted=True&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;bash&#039;&amp;gt;&lt;br /&gt;
application_credential_name=opentofu&lt;br /&gt;
&lt;br /&gt;
openstack application credential create \&lt;br /&gt;
  --unrestricted \&lt;br /&gt;
  ${application_credential_name}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;text&#039; highlight=9&amp;gt;&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| Field        | Value                                                                                  |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| id           | 3db9f5b71b8f4dc4889c552feb188db3                                                       |&lt;br /&gt;
| name         | opentofu                                                                               |&lt;br /&gt;
| description  | None                                                                                   |&lt;br /&gt;
| project_id   | 51350793d7424136a058221a7530b675                                                       |&lt;br /&gt;
| roles        | reader _member_ member                                                                 |&lt;br /&gt;
| unrestricted | True                                                                                   |&lt;br /&gt;
| access_rules | []                                                                                     |&lt;br /&gt;
| expires_at   | None                                                                                   |&lt;br /&gt;
| secret       | AGBBjyWgSgW4bZfsOdH8WjD-_OY55Szo3SLPqSht78OXsBbWSvTmPMz24_9gwodxTGSJ5-Lttz5mK8ZLoGMPOQ |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-| OpenStack dashboard =&lt;br /&gt;
Navigate to &amp;lt;code&amp;gt;Identity -&amp;gt; Application Credentials&amp;lt;/code&amp;gt;, then click the button &amp;lt;code&amp;gt;+Create Application Credential&amp;lt;/code&amp;gt; in the upper right corner.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 001.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; mask, fill in the &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; and make sure to check the &amp;lt;code&amp;gt;Unrestricted (dangerous)&amp;lt;/code&amp;gt; check box. Then click the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 002.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
You will now be presented with a view of the newly created application credential.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 003.png|1000px]]&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Images =&lt;br /&gt;
To list available Kubernetes images, use &amp;lt;code&amp;gt;openstack image list&amp;lt;/code&amp;gt; with the following [https://github.com/mikefarah/yq yq]/[https://jqlang.github.io/jq/ jq] filter:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| Using YAML with yq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format yaml \&lt;br /&gt;
  | yq &#039;[ .[] | select(.Name != null) | select(.Name | match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
- ID: da535156-e7c8-461d-a0ed-03bcf878d5a6&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.28.11&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: aa1eb1ec-c358-4bd6-a606-5272de053484&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.29.6&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: db68e8e8-d4b4-4c4f-af41-4166eb33973d&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.30.2&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-| Using JSON with jq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format json | jq &#039;[ .[] | select(.Name | . != null and match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;da535156-e7c8-461d-a0ed-03bcf878d5a6&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.28.11&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;aa1eb1ec-c358-4bd6-a606-5272de053484&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.29.6&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;db68e8e8-d4b4-4c4f-af41-4166eb33973d&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.30.2&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Node groups =&lt;br /&gt;
Node groups are used to create Kubernetes nodes with different properties (for example flavors).&lt;br /&gt;
&lt;br /&gt;
When creating a cluster, the following two node groups are created by default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe nodegroup list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| uuid                                 | name           | flavor_id                   | image_id                             | node_count | status          | role   |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| 5914ba24-99e5-4adf-b1a7-f53f8872d001 | default-master | Standard Düdingen c002m0004 | aa1eb1ec-c358-4bd6-a606-5272de053484 |          1 | CREATE_COMPLETE | master |&lt;br /&gt;
| 93e2c2c4-e4b1-4874-ad64-2b832868ff10 | default-worker | Standard Düdingen c002m0004 | aa1eb1ec-c358-4bd6-a606-5272de053484 |          1 | CREATE_COMPLETE | worker |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The node group &amp;lt;code&amp;gt;default-master&amp;lt;/code&amp;gt; is used for Kubernetes control plane nodes and &amp;lt;code&amp;gt;default-worker&amp;lt;/code&amp;gt; for Kubernetes worker nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; when creating a new node group, you must use the flavor name and not the flavor ID, even though the column in the output of &amp;lt;code&amp;gt;openstack coe nodegroup list&amp;lt;/code&amp;gt; is named &amp;lt;code&amp;gt;flavor_id&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Node groups - List ==&lt;br /&gt;
To list existing node groups, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Cluster name or ID&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe nodegroup list &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| uuid                                 | name           | flavor_id                   | image_id                             | node_count | status          | role   |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| 39244c46-410c-4433-a305-cf382b75ed7f | default-master | Standard Düdingen c002m0004 | b00206ec-fb4f-46f2-8046-b0c0b79e8aea |          1 | CREATE_COMPLETE | master |&lt;br /&gt;
| 123edba7-c4d8-4d46-a1d6-0712a8099ecc | default-worker | Standard Düdingen c004m0015 | b00206ec-fb4f-46f2-8046-b0c0b79e8aea |          0 | UPDATE_COMPLETE | worker |&lt;br /&gt;
| 2c49f417-42b8-49f7-9a97-3f4fc316bb5c | worker         | Standard Düdingen c004m0016 | b00206ec-fb4f-46f2-8046-b0c0b79e8aea |          2 | CREATE_COMPLETE | worker |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Node groups - Creation ==&lt;br /&gt;
To create a new node group, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Cluster name or ID&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Name fo the new node group&lt;br /&gt;
nodegroup_name=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Desired flavor, e.g. &#039;Standard Düdingen c004m0016&#039;&lt;br /&gt;
flavor=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Worker node count&lt;br /&gt;
node_count=1&lt;br /&gt;
&lt;br /&gt;
openstack coe nodegroup create &amp;quot;$cluster&amp;quot; &amp;quot;$nodegroup_name&amp;quot; --flavor &amp;quot;$flavor&amp;quot; --node-count &amp;quot;$node_count&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Node groups - Scaling ==&lt;br /&gt;
To change the number of nodes of a specific node group, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Cluster name or ID&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Node group name or ID&lt;br /&gt;
node_group=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Desired node count&lt;br /&gt;
node_count=1&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster resize &amp;quot;$cluster&amp;quot; --nodegroup &amp;quot;$node_group&amp;quot; &amp;quot;$node_count&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cluster template =&lt;br /&gt;
== Cluster template - List ==&lt;br /&gt;
To list existing cluster templates, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to have a list of the cluster templates sorted by their name. To do so, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list --format json \&lt;br /&gt;
  | jq --raw-output &#039;sort_by(.name) | .[] | &amp;quot;\(.uuid) \(.name)&amp;quot;&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template create&amp;lt;/code&amp;gt; to create a cluster template:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to use:&lt;br /&gt;
image=c539d525-d912-4acb-a7c3-bfcaf5f533c5 # Ubuntu 22.04 (20240605): Kubernetes v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster template to create:&lt;br /&gt;
cluster_template=&#039;&#039;  # For example: cluster_template=&#039;kubernetes-1.30.1&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template create &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --coe kubernetes \&lt;br /&gt;
  --image &amp;quot;$image&amp;quot; \&lt;br /&gt;
  --external-network public \&lt;br /&gt;
  --master-flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --master-lb-enabled&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster template kubernetes-1.30.2 accepted&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| Field                 | Value                                |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| insecure_registry     | -                                    |&lt;br /&gt;
| labels                | {}                                   |&lt;br /&gt;
| updated_at            | -                                    |&lt;br /&gt;
| floating_ip_enabled   | True                                 |&lt;br /&gt;
| fixed_subnet          | -                                    |&lt;br /&gt;
| master_flavor_id      | Standard Düdingen c002m0004          |&lt;br /&gt;
| uuid                  | d69969e7-1239-4810-b092-c758d3e9ef2e |&lt;br /&gt;
| no_proxy              | -                                    |&lt;br /&gt;
| https_proxy           | -                                    |&lt;br /&gt;
| tls_disabled          | False                                |&lt;br /&gt;
| keypair_id            | -                                    |&lt;br /&gt;
| public                | True                                 |&lt;br /&gt;
| http_proxy            | -                                    |&lt;br /&gt;
| docker_volume_size    | -                                    |&lt;br /&gt;
| server_type           | vm                                   |&lt;br /&gt;
| external_network_id   | public                               |&lt;br /&gt;
| cluster_distro        | ubuntu                               |&lt;br /&gt;
| image_id              | db68e8e8-d4b4-4c4f-af41-4166eb33973d |&lt;br /&gt;
| volume_driver         | -                                    |&lt;br /&gt;
| registry_enabled      | False                                |&lt;br /&gt;
| docker_storage_driver | overlay2                             |&lt;br /&gt;
| apiserver_port        | -                                    |&lt;br /&gt;
| name                  | kubernetes-1.30.2                    |&lt;br /&gt;
| created_at            | 2024-08-07T14:39:52.314174+00:00     |&lt;br /&gt;
| network_driver        | flannel                              |&lt;br /&gt;
| fixed_network         | -                                    |&lt;br /&gt;
| coe                   | kubernetes                           |&lt;br /&gt;
| flavor_id             | Standard Düdingen c002m0004          |&lt;br /&gt;
| master_lb_enabled     | True                                 |&lt;br /&gt;
| dns_nameserver        | 8.8.8.8                              |&lt;br /&gt;
| hidden                | False                                |&lt;br /&gt;
| tags                  | -                                    |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the argument &amp;lt;code&amp;gt;--external-network public&amp;lt;/code&amp;gt; will use the default floating IP addresses. If you wish to use a different network, replace &amp;lt;code&amp;gt;public&amp;lt;/code&amp;gt; accordingly.&lt;br /&gt;
&lt;br /&gt;
For a list of all labels see [https://docs.openstack.org/magnum/latest/user/#labels Magnum User Guide - Labels].&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template delete&amp;lt;/code&amp;gt; to delete a cluster template:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to delete:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template delete &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cluster =&lt;br /&gt;
== Cluster - List ==&lt;br /&gt;
To list existing clusters, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt; to create a cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster to create:&lt;br /&gt;
cluster_name=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster create \&lt;br /&gt;
  --cluster-template &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --master-count 1 \&lt;br /&gt;
  --node-count 2 \&lt;br /&gt;
   &amp;quot;$cluster_name&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster 9bb54949-2469-4b7e-99c8-4cb2730d4e8f accepted&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
* &amp;lt;code&amp;gt;--master-count&amp;lt;/code&amp;gt;: number of control plane nodes. Note that the number of control plane nodes must be odd due to etcd. Cluster creation will fail if the number of control plane nodes is even.&lt;br /&gt;
* &amp;lt;code&amp;gt;--node-count&amp;lt;/code&amp;gt;: number of worker nodes.&lt;br /&gt;
|-| OpenTofu/Terraform =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;tf&amp;quot;&amp;gt;&lt;br /&gt;
data &amp;quot;openstack_containerinfra_clustertemplate_v1&amp;quot; &amp;quot;k8s_template_1_30&amp;quot; {&lt;br /&gt;
  name = &amp;quot;kubernetes-1.30.2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
resource &amp;quot;openstack_containerinfra_cluster_v1&amp;quot; &amp;quot;cluster_1&amp;quot; {&lt;br /&gt;
  name                = &amp;quot;cluster-1&amp;quot;&lt;br /&gt;
  cluster_template_id = data.openstack_containerinfra_clustertemplate_v1.k8s_template_1_30.id&lt;br /&gt;
  master_count        = 1&lt;br /&gt;
  node_count          = 2&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After creating the cluster, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster to be created): &lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
Status during cluster creation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_IN_PROGRESS | None          |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Status after that the cluster has been successfully created:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_COMPLETE    | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster delete&amp;lt;/code&amp;gt; to delete a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to delete:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster delete &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Access ==&lt;br /&gt;
To access a created cluster with &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;helm&amp;lt;/code&amp;gt; etc., use &amp;lt;code&amp;gt;openstack coe cluster config&amp;lt;/code&amp;gt; to retrieve the cluster&#039;s configuration (essentially the &amp;quot;kubeconfig&amp;quot; file):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Path to the directory where the Kubeconfig file will be stored:&lt;br /&gt;
directory=&amp;quot;$HOME&amp;quot;/.kube&lt;br /&gt;
&lt;br /&gt;
# Make sure the directory exists:&lt;br /&gt;
mkdir --parent &amp;quot;$directory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Download the kubeconfig.&lt;br /&gt;
# This will create the kubeconfig file at $directory/config&lt;br /&gt;
openstack coe cluster config --dir &amp;quot;$directory&amp;quot; &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on where the kubeconfig file has been store, you will need to set the environment variable &amp;lt;code&amp;gt;KUBECONFIG&amp;lt;/code&amp;gt; accordingly (if you used the directory &amp;lt;code&amp;gt;.kube&amp;lt;/code&amp;gt; in your home directory, this step is not required as &amp;lt;code&amp;gt;~/.kube/config&amp;lt;/code&amp;gt; is the default kubeconfig path):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export KUBECONFIG=/path/to/kube/config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will now be able to access the cluster using &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl get node -o wide&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
NAME                                                     STATUS   ROLES           AGE   VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-control-plane-jl86d          Ready    control-plane   45m   v1.28.11   10.0.0.149    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-default-worker-b2c7j-5bh2w   Ready    &amp;lt;none&amp;gt;          44m   v1.28.11   10.0.0.150    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Scaling ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster resize&amp;lt;/code&amp;gt; to change the number of worker nodes in a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Number of worker nodes, for example &#039;6&#039;:&lt;br /&gt;
nodes=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster resize &amp;quot;$cluster&amp;quot; &amp;quot;$nodes&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Upgrade ==&lt;br /&gt;
To upgrade a cluster (upgrading the version of Kubernetes), a new [[#Creation - Cluster template | cluster template needs to be created]] first. This cluster template must use a newer Kubernetes version than the one used in your current cluster template.&lt;br /&gt;
&lt;br /&gt;
After creating the cluster template, use &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt; to assign the new cluster template to your cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to upgrade:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# ID or name of the new cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster upgrade &amp;quot;$cluster&amp;quot; &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to upgrade cluster sst-yde-test-1 has been accepted.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt;, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster upgrade/downgrade to be completed):&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
During the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_IN_PROGRESS | UNHEALTHY     |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status          | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_COMPLETE | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Downgrade ==&lt;br /&gt;
A downgrade of a cluster works the same as an [[#Upgrade | Upgrade]], but you will have to use a cluster template that uses an image with an older Kubernetes version.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
== Troubleshooting - Adjusting the Kubernetes image label kube_version ==&lt;br /&gt;
When creating a cluster using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;, you might encounter the following error:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Image c539d525-d912-4acb-a7c3-bfcaf5f533c5 does not have a kube_version property.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To fix this problem, add the &amp;lt;code&amp;gt;kube_version&amp;lt;/code&amp;gt; property to the image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to adjust:&lt;br /&gt;
image_id=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# The Kubernetes version of the image:&lt;br /&gt;
k8s_image_version=v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Adjust the image and add the &amp;quot;kube_version&amp;quot; property:&lt;br /&gt;
openstack image set &amp;quot;$image_id&amp;quot; --property kube_version=&amp;quot;$k8s_image_version&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After adjust the image property you will have to delete the existing cluster and re-create it using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category: Kubernetes]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1065</id>
		<title>Kubernetes management</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1065"/>
		<updated>2026-06-23T08:11:36Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Node groups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This page describes the creation and management of Kubernetes clusters in our OpenStack-based stoney cloud using the Magnum container orchestration engine (COE).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This page is a work-in-progress, so if you face any challenges, please contact us with the specific issue.&lt;br /&gt;
&lt;br /&gt;
= Authentication with application credentials =&lt;br /&gt;
When interacting with the OpenStack API, be it via CLI or through Terraform / OpenTofu, you have two possibilities for authentication:&lt;br /&gt;
* Your username and password&lt;br /&gt;
* Application credentials&lt;br /&gt;
&lt;br /&gt;
When using application credentials, it is important to use ones that have been configured with &amp;lt;code&amp;gt;Unrestricted=True&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;bash&#039;&amp;gt;&lt;br /&gt;
application_credential_name=opentofu&lt;br /&gt;
&lt;br /&gt;
openstack application credential create \&lt;br /&gt;
  --unrestricted \&lt;br /&gt;
  ${application_credential_name}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;text&#039; highlight=9&amp;gt;&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| Field        | Value                                                                                  |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| id           | 3db9f5b71b8f4dc4889c552feb188db3                                                       |&lt;br /&gt;
| name         | opentofu                                                                               |&lt;br /&gt;
| description  | None                                                                                   |&lt;br /&gt;
| project_id   | 51350793d7424136a058221a7530b675                                                       |&lt;br /&gt;
| roles        | reader _member_ member                                                                 |&lt;br /&gt;
| unrestricted | True                                                                                   |&lt;br /&gt;
| access_rules | []                                                                                     |&lt;br /&gt;
| expires_at   | None                                                                                   |&lt;br /&gt;
| secret       | AGBBjyWgSgW4bZfsOdH8WjD-_OY55Szo3SLPqSht78OXsBbWSvTmPMz24_9gwodxTGSJ5-Lttz5mK8ZLoGMPOQ |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-| OpenStack dashboard =&lt;br /&gt;
Navigate to &amp;lt;code&amp;gt;Identity -&amp;gt; Application Credentials&amp;lt;/code&amp;gt;, then click the button &amp;lt;code&amp;gt;+Create Application Credential&amp;lt;/code&amp;gt; in the upper right corner.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 001.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; mask, fill in the &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; and make sure to check the &amp;lt;code&amp;gt;Unrestricted (dangerous)&amp;lt;/code&amp;gt; check box. Then click the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 002.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
You will now be presented with a view of the newly created application credential.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 003.png|1000px]]&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Images =&lt;br /&gt;
To list available Kubernetes images, use &amp;lt;code&amp;gt;openstack image list&amp;lt;/code&amp;gt; with the following [https://github.com/mikefarah/yq yq]/[https://jqlang.github.io/jq/ jq] filter:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| Using YAML with yq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format yaml \&lt;br /&gt;
  | yq &#039;[ .[] | select(.Name != null) | select(.Name | match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
- ID: da535156-e7c8-461d-a0ed-03bcf878d5a6&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.28.11&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: aa1eb1ec-c358-4bd6-a606-5272de053484&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.29.6&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: db68e8e8-d4b4-4c4f-af41-4166eb33973d&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.30.2&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-| Using JSON with jq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format json | jq &#039;[ .[] | select(.Name | . != null and match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;da535156-e7c8-461d-a0ed-03bcf878d5a6&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.28.11&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;aa1eb1ec-c358-4bd6-a606-5272de053484&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.29.6&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;db68e8e8-d4b4-4c4f-af41-4166eb33973d&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.30.2&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Node groups =&lt;br /&gt;
Node groups are used to create Kubernetes nodes with different properties (for example flavors).&lt;br /&gt;
&lt;br /&gt;
When creating a cluster, the following two node groups are created by default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe nodegroup list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| uuid                                 | name           | flavor_id                   | image_id                             | node_count | status          | role   |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| 5914ba24-99e5-4adf-b1a7-f53f8872d001 | default-master | Standard Düdingen c002m0004 | aa1eb1ec-c358-4bd6-a606-5272de053484 |          1 | CREATE_COMPLETE | master |&lt;br /&gt;
| 93e2c2c4-e4b1-4874-ad64-2b832868ff10 | default-worker | Standard Düdingen c002m0004 | aa1eb1ec-c358-4bd6-a606-5272de053484 |          1 | CREATE_COMPLETE | worker |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The node group &amp;lt;code&amp;gt;default-master&amp;lt;/code&amp;gt; is used for Kubernetes control plane nodes and &amp;lt;code&amp;gt;default-worker&amp;lt;/code&amp;gt; for Kubernetes worker nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; when creating a new node group, you must use the flavor name and not the flavor ID, even though the column in the output of &amp;lt;code&amp;gt;openstack coe nodegroup list&amp;lt;/code&amp;gt; is named &amp;lt;code&amp;gt;flavor_id&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Cluster template =&lt;br /&gt;
== Cluster template - List ==&lt;br /&gt;
To list existing cluster templates, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to have a list of the cluster templates sorted by their name. To do so, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list --format json \&lt;br /&gt;
  | jq --raw-output &#039;sort_by(.name) | .[] | &amp;quot;\(.uuid) \(.name)&amp;quot;&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template create&amp;lt;/code&amp;gt; to create a cluster template:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to use:&lt;br /&gt;
image=c539d525-d912-4acb-a7c3-bfcaf5f533c5 # Ubuntu 22.04 (20240605): Kubernetes v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster template to create:&lt;br /&gt;
cluster_template=&#039;&#039;  # For example: cluster_template=&#039;kubernetes-1.30.1&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template create &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --coe kubernetes \&lt;br /&gt;
  --image &amp;quot;$image&amp;quot; \&lt;br /&gt;
  --external-network public \&lt;br /&gt;
  --master-flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --master-lb-enabled&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster template kubernetes-1.30.2 accepted&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| Field                 | Value                                |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| insecure_registry     | -                                    |&lt;br /&gt;
| labels                | {}                                   |&lt;br /&gt;
| updated_at            | -                                    |&lt;br /&gt;
| floating_ip_enabled   | True                                 |&lt;br /&gt;
| fixed_subnet          | -                                    |&lt;br /&gt;
| master_flavor_id      | Standard Düdingen c002m0004          |&lt;br /&gt;
| uuid                  | d69969e7-1239-4810-b092-c758d3e9ef2e |&lt;br /&gt;
| no_proxy              | -                                    |&lt;br /&gt;
| https_proxy           | -                                    |&lt;br /&gt;
| tls_disabled          | False                                |&lt;br /&gt;
| keypair_id            | -                                    |&lt;br /&gt;
| public                | True                                 |&lt;br /&gt;
| http_proxy            | -                                    |&lt;br /&gt;
| docker_volume_size    | -                                    |&lt;br /&gt;
| server_type           | vm                                   |&lt;br /&gt;
| external_network_id   | public                               |&lt;br /&gt;
| cluster_distro        | ubuntu                               |&lt;br /&gt;
| image_id              | db68e8e8-d4b4-4c4f-af41-4166eb33973d |&lt;br /&gt;
| volume_driver         | -                                    |&lt;br /&gt;
| registry_enabled      | False                                |&lt;br /&gt;
| docker_storage_driver | overlay2                             |&lt;br /&gt;
| apiserver_port        | -                                    |&lt;br /&gt;
| name                  | kubernetes-1.30.2                    |&lt;br /&gt;
| created_at            | 2024-08-07T14:39:52.314174+00:00     |&lt;br /&gt;
| network_driver        | flannel                              |&lt;br /&gt;
| fixed_network         | -                                    |&lt;br /&gt;
| coe                   | kubernetes                           |&lt;br /&gt;
| flavor_id             | Standard Düdingen c002m0004          |&lt;br /&gt;
| master_lb_enabled     | True                                 |&lt;br /&gt;
| dns_nameserver        | 8.8.8.8                              |&lt;br /&gt;
| hidden                | False                                |&lt;br /&gt;
| tags                  | -                                    |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the argument &amp;lt;code&amp;gt;--external-network public&amp;lt;/code&amp;gt; will use the default floating IP addresses. If you wish to use a different network, replace &amp;lt;code&amp;gt;public&amp;lt;/code&amp;gt; accordingly.&lt;br /&gt;
&lt;br /&gt;
For a list of all labels see [https://docs.openstack.org/magnum/latest/user/#labels Magnum User Guide - Labels].&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template delete&amp;lt;/code&amp;gt; to delete a cluster template:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to delete:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template delete &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cluster =&lt;br /&gt;
== Cluster - List ==&lt;br /&gt;
To list existing clusters, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt; to create a cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster to create:&lt;br /&gt;
cluster_name=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster create \&lt;br /&gt;
  --cluster-template &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --master-count 1 \&lt;br /&gt;
  --node-count 2 \&lt;br /&gt;
   &amp;quot;$cluster_name&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster 9bb54949-2469-4b7e-99c8-4cb2730d4e8f accepted&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
* &amp;lt;code&amp;gt;--master-count&amp;lt;/code&amp;gt;: number of control plane nodes. Note that the number of control plane nodes must be odd due to etcd. Cluster creation will fail if the number of control plane nodes is even.&lt;br /&gt;
* &amp;lt;code&amp;gt;--node-count&amp;lt;/code&amp;gt;: number of worker nodes.&lt;br /&gt;
|-| OpenTofu/Terraform =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;tf&amp;quot;&amp;gt;&lt;br /&gt;
data &amp;quot;openstack_containerinfra_clustertemplate_v1&amp;quot; &amp;quot;k8s_template_1_30&amp;quot; {&lt;br /&gt;
  name = &amp;quot;kubernetes-1.30.2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
resource &amp;quot;openstack_containerinfra_cluster_v1&amp;quot; &amp;quot;cluster_1&amp;quot; {&lt;br /&gt;
  name                = &amp;quot;cluster-1&amp;quot;&lt;br /&gt;
  cluster_template_id = data.openstack_containerinfra_clustertemplate_v1.k8s_template_1_30.id&lt;br /&gt;
  master_count        = 1&lt;br /&gt;
  node_count          = 2&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After creating the cluster, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster to be created): &lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
Status during cluster creation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_IN_PROGRESS | None          |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Status after that the cluster has been successfully created:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_COMPLETE    | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster delete&amp;lt;/code&amp;gt; to delete a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to delete:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster delete &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Access ==&lt;br /&gt;
To access a created cluster with &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;helm&amp;lt;/code&amp;gt; etc., use &amp;lt;code&amp;gt;openstack coe cluster config&amp;lt;/code&amp;gt; to retrieve the cluster&#039;s configuration (essentially the &amp;quot;kubeconfig&amp;quot; file):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Path to the directory where the Kubeconfig file will be stored:&lt;br /&gt;
directory=&amp;quot;$HOME&amp;quot;/.kube&lt;br /&gt;
&lt;br /&gt;
# Make sure the directory exists:&lt;br /&gt;
mkdir --parent &amp;quot;$directory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Download the kubeconfig.&lt;br /&gt;
# This will create the kubeconfig file at $directory/config&lt;br /&gt;
openstack coe cluster config --dir &amp;quot;$directory&amp;quot; &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on where the kubeconfig file has been store, you will need to set the environment variable &amp;lt;code&amp;gt;KUBECONFIG&amp;lt;/code&amp;gt; accordingly (if you used the directory &amp;lt;code&amp;gt;.kube&amp;lt;/code&amp;gt; in your home directory, this step is not required as &amp;lt;code&amp;gt;~/.kube/config&amp;lt;/code&amp;gt; is the default kubeconfig path):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export KUBECONFIG=/path/to/kube/config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will now be able to access the cluster using &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl get node -o wide&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
NAME                                                     STATUS   ROLES           AGE   VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-control-plane-jl86d          Ready    control-plane   45m   v1.28.11   10.0.0.149    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-default-worker-b2c7j-5bh2w   Ready    &amp;lt;none&amp;gt;          44m   v1.28.11   10.0.0.150    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Scaling ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster resize&amp;lt;/code&amp;gt; to change the number of worker nodes in a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Number of worker nodes, for example &#039;6&#039;:&lt;br /&gt;
nodes=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster resize &amp;quot;$cluster&amp;quot; &amp;quot;$nodes&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Upgrade ==&lt;br /&gt;
To upgrade a cluster (upgrading the version of Kubernetes), a new [[#Creation - Cluster template | cluster template needs to be created]] first. This cluster template must use a newer Kubernetes version than the one used in your current cluster template.&lt;br /&gt;
&lt;br /&gt;
After creating the cluster template, use &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt; to assign the new cluster template to your cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to upgrade:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# ID or name of the new cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster upgrade &amp;quot;$cluster&amp;quot; &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to upgrade cluster sst-yde-test-1 has been accepted.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt;, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster upgrade/downgrade to be completed):&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
During the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_IN_PROGRESS | UNHEALTHY     |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status          | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_COMPLETE | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Downgrade ==&lt;br /&gt;
A downgrade of a cluster works the same as an [[#Upgrade | Upgrade]], but you will have to use a cluster template that uses an image with an older Kubernetes version.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
== Troubleshooting - Adjusting the Kubernetes image label kube_version ==&lt;br /&gt;
When creating a cluster using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;, you might encounter the following error:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Image c539d525-d912-4acb-a7c3-bfcaf5f533c5 does not have a kube_version property.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To fix this problem, add the &amp;lt;code&amp;gt;kube_version&amp;lt;/code&amp;gt; property to the image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to adjust:&lt;br /&gt;
image_id=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# The Kubernetes version of the image:&lt;br /&gt;
k8s_image_version=v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Adjust the image and add the &amp;quot;kube_version&amp;quot; property:&lt;br /&gt;
openstack image set &amp;quot;$image_id&amp;quot; --property kube_version=&amp;quot;$k8s_image_version&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After adjust the image property you will have to delete the existing cluster and re-create it using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category: Kubernetes]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1064</id>
		<title>Kubernetes management</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1064"/>
		<updated>2026-06-18T13:44:26Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Node groups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This page describes the creation and management of Kubernetes clusters in our OpenStack-based stoney cloud using the Magnum container orchestration engine (COE).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This page is a work-in-progress, so if you face any challenges, please contact us with the specific issue.&lt;br /&gt;
&lt;br /&gt;
= Authentication with application credentials =&lt;br /&gt;
When interacting with the OpenStack API, be it via CLI or through Terraform / OpenTofu, you have two possibilities for authentication:&lt;br /&gt;
* Your username and password&lt;br /&gt;
* Application credentials&lt;br /&gt;
&lt;br /&gt;
When using application credentials, it is important to use ones that have been configured with &amp;lt;code&amp;gt;Unrestricted=True&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;bash&#039;&amp;gt;&lt;br /&gt;
application_credential_name=opentofu&lt;br /&gt;
&lt;br /&gt;
openstack application credential create \&lt;br /&gt;
  --unrestricted \&lt;br /&gt;
  ${application_credential_name}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;text&#039; highlight=9&amp;gt;&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| Field        | Value                                                                                  |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| id           | 3db9f5b71b8f4dc4889c552feb188db3                                                       |&lt;br /&gt;
| name         | opentofu                                                                               |&lt;br /&gt;
| description  | None                                                                                   |&lt;br /&gt;
| project_id   | 51350793d7424136a058221a7530b675                                                       |&lt;br /&gt;
| roles        | reader _member_ member                                                                 |&lt;br /&gt;
| unrestricted | True                                                                                   |&lt;br /&gt;
| access_rules | []                                                                                     |&lt;br /&gt;
| expires_at   | None                                                                                   |&lt;br /&gt;
| secret       | AGBBjyWgSgW4bZfsOdH8WjD-_OY55Szo3SLPqSht78OXsBbWSvTmPMz24_9gwodxTGSJ5-Lttz5mK8ZLoGMPOQ |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-| OpenStack dashboard =&lt;br /&gt;
Navigate to &amp;lt;code&amp;gt;Identity -&amp;gt; Application Credentials&amp;lt;/code&amp;gt;, then click the button &amp;lt;code&amp;gt;+Create Application Credential&amp;lt;/code&amp;gt; in the upper right corner.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 001.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; mask, fill in the &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; and make sure to check the &amp;lt;code&amp;gt;Unrestricted (dangerous)&amp;lt;/code&amp;gt; check box. Then click the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 002.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
You will now be presented with a view of the newly created application credential.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 003.png|1000px]]&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Images =&lt;br /&gt;
To list available Kubernetes images, use &amp;lt;code&amp;gt;openstack image list&amp;lt;/code&amp;gt; with the following [https://github.com/mikefarah/yq yq]/[https://jqlang.github.io/jq/ jq] filter:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| Using YAML with yq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format yaml \&lt;br /&gt;
  | yq &#039;[ .[] | select(.Name != null) | select(.Name | match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
- ID: da535156-e7c8-461d-a0ed-03bcf878d5a6&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.28.11&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: aa1eb1ec-c358-4bd6-a606-5272de053484&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.29.6&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: db68e8e8-d4b4-4c4f-af41-4166eb33973d&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.30.2&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-| Using JSON with jq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format json | jq &#039;[ .[] | select(.Name | . != null and match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;da535156-e7c8-461d-a0ed-03bcf878d5a6&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.28.11&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;aa1eb1ec-c358-4bd6-a606-5272de053484&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.29.6&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;db68e8e8-d4b4-4c4f-af41-4166eb33973d&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.30.2&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Node groups =&lt;br /&gt;
Node groups are used to create Kubernetes nodes with different properties (for example flavors).&lt;br /&gt;
&lt;br /&gt;
When creating a cluster, the following two node groups are created by default (see &amp;lt;code&amp;gt;openstack coe nodegroup list&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| uuid                                 | name           | flavor_id                   | image_id                             | node_count | status          | role   |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| 5914ba24-99e5-4adf-b1a7-f53f8872d001 | default-master | Standard Düdingen c002m0004 | aa1eb1ec-c358-4bd6-a606-5272de053484 |          1 | CREATE_COMPLETE | master |&lt;br /&gt;
| 93e2c2c4-e4b1-4874-ad64-2b832868ff10 | default-worker | Standard Düdingen c002m0004 | aa1eb1ec-c358-4bd6-a606-5272de053484 |          1 | CREATE_COMPLETE | worker |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The node group &amp;lt;code&amp;gt;default-master&amp;lt;/code&amp;gt; is used for Kubernetes control plane nodes and &amp;lt;code&amp;gt;default-worker&amp;lt;/code&amp;gt; for Kubernetes worker nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; when creating a new node group, you must use the flavor name and not the flavor ID, even though the column in the output of &amp;lt;code&amp;gt;openstack coe nodegroup list&amp;lt;/code&amp;gt; is named &amp;lt;code&amp;gt;flavor_id&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Cluster template =&lt;br /&gt;
== Cluster template - List ==&lt;br /&gt;
To list existing cluster templates, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to have a list of the cluster templates sorted by their name. To do so, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list --format json \&lt;br /&gt;
  | jq --raw-output &#039;sort_by(.name) | .[] | &amp;quot;\(.uuid) \(.name)&amp;quot;&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template create&amp;lt;/code&amp;gt; to create a cluster template:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to use:&lt;br /&gt;
image=c539d525-d912-4acb-a7c3-bfcaf5f533c5 # Ubuntu 22.04 (20240605): Kubernetes v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster template to create:&lt;br /&gt;
cluster_template=&#039;&#039;  # For example: cluster_template=&#039;kubernetes-1.30.1&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template create &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --coe kubernetes \&lt;br /&gt;
  --image &amp;quot;$image&amp;quot; \&lt;br /&gt;
  --external-network public \&lt;br /&gt;
  --master-flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --master-lb-enabled&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster template kubernetes-1.30.2 accepted&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| Field                 | Value                                |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| insecure_registry     | -                                    |&lt;br /&gt;
| labels                | {}                                   |&lt;br /&gt;
| updated_at            | -                                    |&lt;br /&gt;
| floating_ip_enabled   | True                                 |&lt;br /&gt;
| fixed_subnet          | -                                    |&lt;br /&gt;
| master_flavor_id      | Standard Düdingen c002m0004          |&lt;br /&gt;
| uuid                  | d69969e7-1239-4810-b092-c758d3e9ef2e |&lt;br /&gt;
| no_proxy              | -                                    |&lt;br /&gt;
| https_proxy           | -                                    |&lt;br /&gt;
| tls_disabled          | False                                |&lt;br /&gt;
| keypair_id            | -                                    |&lt;br /&gt;
| public                | True                                 |&lt;br /&gt;
| http_proxy            | -                                    |&lt;br /&gt;
| docker_volume_size    | -                                    |&lt;br /&gt;
| server_type           | vm                                   |&lt;br /&gt;
| external_network_id   | public                               |&lt;br /&gt;
| cluster_distro        | ubuntu                               |&lt;br /&gt;
| image_id              | db68e8e8-d4b4-4c4f-af41-4166eb33973d |&lt;br /&gt;
| volume_driver         | -                                    |&lt;br /&gt;
| registry_enabled      | False                                |&lt;br /&gt;
| docker_storage_driver | overlay2                             |&lt;br /&gt;
| apiserver_port        | -                                    |&lt;br /&gt;
| name                  | kubernetes-1.30.2                    |&lt;br /&gt;
| created_at            | 2024-08-07T14:39:52.314174+00:00     |&lt;br /&gt;
| network_driver        | flannel                              |&lt;br /&gt;
| fixed_network         | -                                    |&lt;br /&gt;
| coe                   | kubernetes                           |&lt;br /&gt;
| flavor_id             | Standard Düdingen c002m0004          |&lt;br /&gt;
| master_lb_enabled     | True                                 |&lt;br /&gt;
| dns_nameserver        | 8.8.8.8                              |&lt;br /&gt;
| hidden                | False                                |&lt;br /&gt;
| tags                  | -                                    |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the argument &amp;lt;code&amp;gt;--external-network public&amp;lt;/code&amp;gt; will use the default floating IP addresses. If you wish to use a different network, replace &amp;lt;code&amp;gt;public&amp;lt;/code&amp;gt; accordingly.&lt;br /&gt;
&lt;br /&gt;
For a list of all labels see [https://docs.openstack.org/magnum/latest/user/#labels Magnum User Guide - Labels].&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template delete&amp;lt;/code&amp;gt; to delete a cluster template:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to delete:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template delete &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cluster =&lt;br /&gt;
== Cluster - List ==&lt;br /&gt;
To list existing clusters, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt; to create a cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster to create:&lt;br /&gt;
cluster_name=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster create \&lt;br /&gt;
  --cluster-template &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --master-count 1 \&lt;br /&gt;
  --node-count 2 \&lt;br /&gt;
   &amp;quot;$cluster_name&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster 9bb54949-2469-4b7e-99c8-4cb2730d4e8f accepted&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
* &amp;lt;code&amp;gt;--master-count&amp;lt;/code&amp;gt;: number of control plane nodes. Note that the number of control plane nodes must be odd due to etcd. Cluster creation will fail if the number of control plane nodes is even.&lt;br /&gt;
* &amp;lt;code&amp;gt;--node-count&amp;lt;/code&amp;gt;: number of worker nodes.&lt;br /&gt;
|-| OpenTofu/Terraform =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;tf&amp;quot;&amp;gt;&lt;br /&gt;
data &amp;quot;openstack_containerinfra_clustertemplate_v1&amp;quot; &amp;quot;k8s_template_1_30&amp;quot; {&lt;br /&gt;
  name = &amp;quot;kubernetes-1.30.2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
resource &amp;quot;openstack_containerinfra_cluster_v1&amp;quot; &amp;quot;cluster_1&amp;quot; {&lt;br /&gt;
  name                = &amp;quot;cluster-1&amp;quot;&lt;br /&gt;
  cluster_template_id = data.openstack_containerinfra_clustertemplate_v1.k8s_template_1_30.id&lt;br /&gt;
  master_count        = 1&lt;br /&gt;
  node_count          = 2&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After creating the cluster, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster to be created): &lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
Status during cluster creation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_IN_PROGRESS | None          |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Status after that the cluster has been successfully created:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_COMPLETE    | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster delete&amp;lt;/code&amp;gt; to delete a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to delete:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster delete &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Access ==&lt;br /&gt;
To access a created cluster with &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;helm&amp;lt;/code&amp;gt; etc., use &amp;lt;code&amp;gt;openstack coe cluster config&amp;lt;/code&amp;gt; to retrieve the cluster&#039;s configuration (essentially the &amp;quot;kubeconfig&amp;quot; file):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Path to the directory where the Kubeconfig file will be stored:&lt;br /&gt;
directory=&amp;quot;$HOME&amp;quot;/.kube&lt;br /&gt;
&lt;br /&gt;
# Make sure the directory exists:&lt;br /&gt;
mkdir --parent &amp;quot;$directory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Download the kubeconfig.&lt;br /&gt;
# This will create the kubeconfig file at $directory/config&lt;br /&gt;
openstack coe cluster config --dir &amp;quot;$directory&amp;quot; &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on where the kubeconfig file has been store, you will need to set the environment variable &amp;lt;code&amp;gt;KUBECONFIG&amp;lt;/code&amp;gt; accordingly (if you used the directory &amp;lt;code&amp;gt;.kube&amp;lt;/code&amp;gt; in your home directory, this step is not required as &amp;lt;code&amp;gt;~/.kube/config&amp;lt;/code&amp;gt; is the default kubeconfig path):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export KUBECONFIG=/path/to/kube/config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will now be able to access the cluster using &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl get node -o wide&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
NAME                                                     STATUS   ROLES           AGE   VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-control-plane-jl86d          Ready    control-plane   45m   v1.28.11   10.0.0.149    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-default-worker-b2c7j-5bh2w   Ready    &amp;lt;none&amp;gt;          44m   v1.28.11   10.0.0.150    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Scaling ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster resize&amp;lt;/code&amp;gt; to change the number of worker nodes in a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Number of worker nodes, for example &#039;6&#039;:&lt;br /&gt;
nodes=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster resize &amp;quot;$cluster&amp;quot; &amp;quot;$nodes&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Upgrade ==&lt;br /&gt;
To upgrade a cluster (upgrading the version of Kubernetes), a new [[#Creation - Cluster template | cluster template needs to be created]] first. This cluster template must use a newer Kubernetes version than the one used in your current cluster template.&lt;br /&gt;
&lt;br /&gt;
After creating the cluster template, use &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt; to assign the new cluster template to your cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to upgrade:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# ID or name of the new cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster upgrade &amp;quot;$cluster&amp;quot; &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to upgrade cluster sst-yde-test-1 has been accepted.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt;, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster upgrade/downgrade to be completed):&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
During the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_IN_PROGRESS | UNHEALTHY     |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status          | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_COMPLETE | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Downgrade ==&lt;br /&gt;
A downgrade of a cluster works the same as an [[#Upgrade | Upgrade]], but you will have to use a cluster template that uses an image with an older Kubernetes version.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
== Troubleshooting - Adjusting the Kubernetes image label kube_version ==&lt;br /&gt;
When creating a cluster using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;, you might encounter the following error:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Image c539d525-d912-4acb-a7c3-bfcaf5f533c5 does not have a kube_version property.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To fix this problem, add the &amp;lt;code&amp;gt;kube_version&amp;lt;/code&amp;gt; property to the image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to adjust:&lt;br /&gt;
image_id=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# The Kubernetes version of the image:&lt;br /&gt;
k8s_image_version=v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Adjust the image and add the &amp;quot;kube_version&amp;quot; property:&lt;br /&gt;
openstack image set &amp;quot;$image_id&amp;quot; --property kube_version=&amp;quot;$k8s_image_version&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After adjust the image property you will have to delete the existing cluster and re-create it using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category: Kubernetes]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1063</id>
		<title>Kubernetes management</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1063"/>
		<updated>2026-06-18T13:43:39Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Node groups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This page describes the creation and management of Kubernetes clusters in our OpenStack-based stoney cloud using the Magnum container orchestration engine (COE).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This page is a work-in-progress, so if you face any challenges, please contact us with the specific issue.&lt;br /&gt;
&lt;br /&gt;
= Authentication with application credentials =&lt;br /&gt;
When interacting with the OpenStack API, be it via CLI or through Terraform / OpenTofu, you have two possibilities for authentication:&lt;br /&gt;
* Your username and password&lt;br /&gt;
* Application credentials&lt;br /&gt;
&lt;br /&gt;
When using application credentials, it is important to use ones that have been configured with &amp;lt;code&amp;gt;Unrestricted=True&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;bash&#039;&amp;gt;&lt;br /&gt;
application_credential_name=opentofu&lt;br /&gt;
&lt;br /&gt;
openstack application credential create \&lt;br /&gt;
  --unrestricted \&lt;br /&gt;
  ${application_credential_name}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;text&#039; highlight=9&amp;gt;&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| Field        | Value                                                                                  |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| id           | 3db9f5b71b8f4dc4889c552feb188db3                                                       |&lt;br /&gt;
| name         | opentofu                                                                               |&lt;br /&gt;
| description  | None                                                                                   |&lt;br /&gt;
| project_id   | 51350793d7424136a058221a7530b675                                                       |&lt;br /&gt;
| roles        | reader _member_ member                                                                 |&lt;br /&gt;
| unrestricted | True                                                                                   |&lt;br /&gt;
| access_rules | []                                                                                     |&lt;br /&gt;
| expires_at   | None                                                                                   |&lt;br /&gt;
| secret       | AGBBjyWgSgW4bZfsOdH8WjD-_OY55Szo3SLPqSht78OXsBbWSvTmPMz24_9gwodxTGSJ5-Lttz5mK8ZLoGMPOQ |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-| OpenStack dashboard =&lt;br /&gt;
Navigate to &amp;lt;code&amp;gt;Identity -&amp;gt; Application Credentials&amp;lt;/code&amp;gt;, then click the button &amp;lt;code&amp;gt;+Create Application Credential&amp;lt;/code&amp;gt; in the upper right corner.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 001.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; mask, fill in the &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; and make sure to check the &amp;lt;code&amp;gt;Unrestricted (dangerous)&amp;lt;/code&amp;gt; check box. Then click the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 002.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
You will now be presented with a view of the newly created application credential.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 003.png|1000px]]&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Images =&lt;br /&gt;
To list available Kubernetes images, use &amp;lt;code&amp;gt;openstack image list&amp;lt;/code&amp;gt; with the following [https://github.com/mikefarah/yq yq]/[https://jqlang.github.io/jq/ jq] filter:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| Using YAML with yq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format yaml \&lt;br /&gt;
  | yq &#039;[ .[] | select(.Name != null) | select(.Name | match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
- ID: da535156-e7c8-461d-a0ed-03bcf878d5a6&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.28.11&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: aa1eb1ec-c358-4bd6-a606-5272de053484&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.29.6&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: db68e8e8-d4b4-4c4f-af41-4166eb33973d&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.30.2&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-| Using JSON with jq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format json | jq &#039;[ .[] | select(.Name | . != null and match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;da535156-e7c8-461d-a0ed-03bcf878d5a6&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.28.11&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;aa1eb1ec-c358-4bd6-a606-5272de053484&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.29.6&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;db68e8e8-d4b4-4c4f-af41-4166eb33973d&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.30.2&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Node groups =&lt;br /&gt;
Node groups are used to create Kubernetes nodes with different properties (for example flavors).&lt;br /&gt;
&lt;br /&gt;
When creating a cluster, the following two node groups are created by default (see &amp;lt;code&amp;gt;openstack coe nodegroup list&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| uuid                                 | name           | flavor_id                   | image_id                             | node_count | status          | role   |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| 5914ba24-99e5-4adf-b1a7-f53f8872d001 | default-master | Standard Düdingen c002m0004 | aa1eb1ec-c358-4bd6-a606-5272de053484 |          1 | CREATE_COMPLETE | master |&lt;br /&gt;
| 93e2c2c4-e4b1-4874-ad64-2b832868ff10 | default-worker | Standard Düdingen c002m0004 | aa1eb1ec-c358-4bd6-a606-5272de053484 |          1 | CREATE_COMPLETE | worker |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The node group &amp;lt;code&amp;gt;default-master&amp;lt;/code&amp;gt; is used for Kubernetes control plane nodes and &amp;lt;code&amp;gt;default-worker&amp;lt;/code&amp;gt; for Kubernetes worker nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; when creating a new node group, make sure to use the flavor name and not the flavor ID, even though the column in the output of &amp;lt;code&amp;gt;openstack coe nodegroup list&amp;lt;/code&amp;gt; is named &amp;lt;code&amp;gt;flavor_id&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Cluster template =&lt;br /&gt;
== Cluster template - List ==&lt;br /&gt;
To list existing cluster templates, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to have a list of the cluster templates sorted by their name. To do so, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list --format json \&lt;br /&gt;
  | jq --raw-output &#039;sort_by(.name) | .[] | &amp;quot;\(.uuid) \(.name)&amp;quot;&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template create&amp;lt;/code&amp;gt; to create a cluster template:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to use:&lt;br /&gt;
image=c539d525-d912-4acb-a7c3-bfcaf5f533c5 # Ubuntu 22.04 (20240605): Kubernetes v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster template to create:&lt;br /&gt;
cluster_template=&#039;&#039;  # For example: cluster_template=&#039;kubernetes-1.30.1&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template create &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --coe kubernetes \&lt;br /&gt;
  --image &amp;quot;$image&amp;quot; \&lt;br /&gt;
  --external-network public \&lt;br /&gt;
  --master-flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --master-lb-enabled&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster template kubernetes-1.30.2 accepted&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| Field                 | Value                                |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| insecure_registry     | -                                    |&lt;br /&gt;
| labels                | {}                                   |&lt;br /&gt;
| updated_at            | -                                    |&lt;br /&gt;
| floating_ip_enabled   | True                                 |&lt;br /&gt;
| fixed_subnet          | -                                    |&lt;br /&gt;
| master_flavor_id      | Standard Düdingen c002m0004          |&lt;br /&gt;
| uuid                  | d69969e7-1239-4810-b092-c758d3e9ef2e |&lt;br /&gt;
| no_proxy              | -                                    |&lt;br /&gt;
| https_proxy           | -                                    |&lt;br /&gt;
| tls_disabled          | False                                |&lt;br /&gt;
| keypair_id            | -                                    |&lt;br /&gt;
| public                | True                                 |&lt;br /&gt;
| http_proxy            | -                                    |&lt;br /&gt;
| docker_volume_size    | -                                    |&lt;br /&gt;
| server_type           | vm                                   |&lt;br /&gt;
| external_network_id   | public                               |&lt;br /&gt;
| cluster_distro        | ubuntu                               |&lt;br /&gt;
| image_id              | db68e8e8-d4b4-4c4f-af41-4166eb33973d |&lt;br /&gt;
| volume_driver         | -                                    |&lt;br /&gt;
| registry_enabled      | False                                |&lt;br /&gt;
| docker_storage_driver | overlay2                             |&lt;br /&gt;
| apiserver_port        | -                                    |&lt;br /&gt;
| name                  | kubernetes-1.30.2                    |&lt;br /&gt;
| created_at            | 2024-08-07T14:39:52.314174+00:00     |&lt;br /&gt;
| network_driver        | flannel                              |&lt;br /&gt;
| fixed_network         | -                                    |&lt;br /&gt;
| coe                   | kubernetes                           |&lt;br /&gt;
| flavor_id             | Standard Düdingen c002m0004          |&lt;br /&gt;
| master_lb_enabled     | True                                 |&lt;br /&gt;
| dns_nameserver        | 8.8.8.8                              |&lt;br /&gt;
| hidden                | False                                |&lt;br /&gt;
| tags                  | -                                    |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the argument &amp;lt;code&amp;gt;--external-network public&amp;lt;/code&amp;gt; will use the default floating IP addresses. If you wish to use a different network, replace &amp;lt;code&amp;gt;public&amp;lt;/code&amp;gt; accordingly.&lt;br /&gt;
&lt;br /&gt;
For a list of all labels see [https://docs.openstack.org/magnum/latest/user/#labels Magnum User Guide - Labels].&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template delete&amp;lt;/code&amp;gt; to delete a cluster template:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to delete:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template delete &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cluster =&lt;br /&gt;
== Cluster - List ==&lt;br /&gt;
To list existing clusters, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt; to create a cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster to create:&lt;br /&gt;
cluster_name=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster create \&lt;br /&gt;
  --cluster-template &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --master-count 1 \&lt;br /&gt;
  --node-count 2 \&lt;br /&gt;
   &amp;quot;$cluster_name&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster 9bb54949-2469-4b7e-99c8-4cb2730d4e8f accepted&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
* &amp;lt;code&amp;gt;--master-count&amp;lt;/code&amp;gt;: number of control plane nodes. Note that the number of control plane nodes must be odd due to etcd. Cluster creation will fail if the number of control plane nodes is even.&lt;br /&gt;
* &amp;lt;code&amp;gt;--node-count&amp;lt;/code&amp;gt;: number of worker nodes.&lt;br /&gt;
|-| OpenTofu/Terraform =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;tf&amp;quot;&amp;gt;&lt;br /&gt;
data &amp;quot;openstack_containerinfra_clustertemplate_v1&amp;quot; &amp;quot;k8s_template_1_30&amp;quot; {&lt;br /&gt;
  name = &amp;quot;kubernetes-1.30.2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
resource &amp;quot;openstack_containerinfra_cluster_v1&amp;quot; &amp;quot;cluster_1&amp;quot; {&lt;br /&gt;
  name                = &amp;quot;cluster-1&amp;quot;&lt;br /&gt;
  cluster_template_id = data.openstack_containerinfra_clustertemplate_v1.k8s_template_1_30.id&lt;br /&gt;
  master_count        = 1&lt;br /&gt;
  node_count          = 2&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After creating the cluster, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster to be created): &lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
Status during cluster creation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_IN_PROGRESS | None          |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Status after that the cluster has been successfully created:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_COMPLETE    | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster delete&amp;lt;/code&amp;gt; to delete a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to delete:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster delete &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Access ==&lt;br /&gt;
To access a created cluster with &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;helm&amp;lt;/code&amp;gt; etc., use &amp;lt;code&amp;gt;openstack coe cluster config&amp;lt;/code&amp;gt; to retrieve the cluster&#039;s configuration (essentially the &amp;quot;kubeconfig&amp;quot; file):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Path to the directory where the Kubeconfig file will be stored:&lt;br /&gt;
directory=&amp;quot;$HOME&amp;quot;/.kube&lt;br /&gt;
&lt;br /&gt;
# Make sure the directory exists:&lt;br /&gt;
mkdir --parent &amp;quot;$directory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Download the kubeconfig.&lt;br /&gt;
# This will create the kubeconfig file at $directory/config&lt;br /&gt;
openstack coe cluster config --dir &amp;quot;$directory&amp;quot; &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on where the kubeconfig file has been store, you will need to set the environment variable &amp;lt;code&amp;gt;KUBECONFIG&amp;lt;/code&amp;gt; accordingly (if you used the directory &amp;lt;code&amp;gt;.kube&amp;lt;/code&amp;gt; in your home directory, this step is not required as &amp;lt;code&amp;gt;~/.kube/config&amp;lt;/code&amp;gt; is the default kubeconfig path):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export KUBECONFIG=/path/to/kube/config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will now be able to access the cluster using &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl get node -o wide&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
NAME                                                     STATUS   ROLES           AGE   VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-control-plane-jl86d          Ready    control-plane   45m   v1.28.11   10.0.0.149    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-default-worker-b2c7j-5bh2w   Ready    &amp;lt;none&amp;gt;          44m   v1.28.11   10.0.0.150    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Scaling ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster resize&amp;lt;/code&amp;gt; to change the number of worker nodes in a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Number of worker nodes, for example &#039;6&#039;:&lt;br /&gt;
nodes=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster resize &amp;quot;$cluster&amp;quot; &amp;quot;$nodes&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Upgrade ==&lt;br /&gt;
To upgrade a cluster (upgrading the version of Kubernetes), a new [[#Creation - Cluster template | cluster template needs to be created]] first. This cluster template must use a newer Kubernetes version than the one used in your current cluster template.&lt;br /&gt;
&lt;br /&gt;
After creating the cluster template, use &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt; to assign the new cluster template to your cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to upgrade:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# ID or name of the new cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster upgrade &amp;quot;$cluster&amp;quot; &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to upgrade cluster sst-yde-test-1 has been accepted.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt;, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster upgrade/downgrade to be completed):&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
During the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_IN_PROGRESS | UNHEALTHY     |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status          | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_COMPLETE | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Downgrade ==&lt;br /&gt;
A downgrade of a cluster works the same as an [[#Upgrade | Upgrade]], but you will have to use a cluster template that uses an image with an older Kubernetes version.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
== Troubleshooting - Adjusting the Kubernetes image label kube_version ==&lt;br /&gt;
When creating a cluster using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;, you might encounter the following error:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Image c539d525-d912-4acb-a7c3-bfcaf5f533c5 does not have a kube_version property.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To fix this problem, add the &amp;lt;code&amp;gt;kube_version&amp;lt;/code&amp;gt; property to the image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to adjust:&lt;br /&gt;
image_id=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# The Kubernetes version of the image:&lt;br /&gt;
k8s_image_version=v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Adjust the image and add the &amp;quot;kube_version&amp;quot; property:&lt;br /&gt;
openstack image set &amp;quot;$image_id&amp;quot; --property kube_version=&amp;quot;$k8s_image_version&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After adjust the image property you will have to delete the existing cluster and re-create it using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category: Kubernetes]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1062</id>
		<title>Kubernetes management</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_management&amp;diff=1062"/>
		<updated>2026-06-18T13:42:24Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Node groups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This page describes the creation and management of Kubernetes clusters in our OpenStack-based stoney cloud using the Magnum container orchestration engine (COE).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This page is a work-in-progress, so if you face any challenges, please contact us with the specific issue.&lt;br /&gt;
&lt;br /&gt;
= Authentication with application credentials =&lt;br /&gt;
When interacting with the OpenStack API, be it via CLI or through Terraform / OpenTofu, you have two possibilities for authentication:&lt;br /&gt;
* Your username and password&lt;br /&gt;
* Application credentials&lt;br /&gt;
&lt;br /&gt;
When using application credentials, it is important to use ones that have been configured with &amp;lt;code&amp;gt;Unrestricted=True&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;bash&#039;&amp;gt;&lt;br /&gt;
application_credential_name=opentofu&lt;br /&gt;
&lt;br /&gt;
openstack application credential create \&lt;br /&gt;
  --unrestricted \&lt;br /&gt;
  ${application_credential_name}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;text&#039; highlight=9&amp;gt;&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| Field        | Value                                                                                  |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
| id           | 3db9f5b71b8f4dc4889c552feb188db3                                                       |&lt;br /&gt;
| name         | opentofu                                                                               |&lt;br /&gt;
| description  | None                                                                                   |&lt;br /&gt;
| project_id   | 51350793d7424136a058221a7530b675                                                       |&lt;br /&gt;
| roles        | reader _member_ member                                                                 |&lt;br /&gt;
| unrestricted | True                                                                                   |&lt;br /&gt;
| access_rules | []                                                                                     |&lt;br /&gt;
| expires_at   | None                                                                                   |&lt;br /&gt;
| secret       | AGBBjyWgSgW4bZfsOdH8WjD-_OY55Szo3SLPqSht78OXsBbWSvTmPMz24_9gwodxTGSJ5-Lttz5mK8ZLoGMPOQ |&lt;br /&gt;
+--------------+----------------------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-| OpenStack dashboard =&lt;br /&gt;
Navigate to &amp;lt;code&amp;gt;Identity -&amp;gt; Application Credentials&amp;lt;/code&amp;gt;, then click the button &amp;lt;code&amp;gt;+Create Application Credential&amp;lt;/code&amp;gt; in the upper right corner.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 001.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; mask, fill in the &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; and make sure to check the &amp;lt;code&amp;gt;Unrestricted (dangerous)&amp;lt;/code&amp;gt; check box. Then click the &amp;lt;code&amp;gt;Create Application Credential&amp;lt;/code&amp;gt; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 002.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
You will now be presented with a view of the newly created application credential.&lt;br /&gt;
&lt;br /&gt;
[[File:Kubernetes management 003.png|1000px]]&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Images =&lt;br /&gt;
To list available Kubernetes images, use &amp;lt;code&amp;gt;openstack image list&amp;lt;/code&amp;gt; with the following [https://github.com/mikefarah/yq yq]/[https://jqlang.github.io/jq/ jq] filter:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| Using YAML with yq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format yaml \&lt;br /&gt;
  | yq &#039;[ .[] | select(.Name != null) | select(.Name | match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
- ID: da535156-e7c8-461d-a0ed-03bcf878d5a6&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.28.11&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: aa1eb1ec-c358-4bd6-a606-5272de053484&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.29.6&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
- ID: db68e8e8-d4b4-4c4f-af41-4166eb33973d&lt;br /&gt;
  Name: &#039;Ubuntu 22.04 (240702): Kubernetes v1.30.2&#039;&lt;br /&gt;
  Status: active&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-| Using JSON with jq =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack image list --format json | jq &#039;[ .[] | select(.Name | . != null and match(&amp;quot;(?i)kubernetes&amp;quot;)) ]&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;da535156-e7c8-461d-a0ed-03bcf878d5a6&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.28.11&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;aa1eb1ec-c358-4bd6-a606-5272de053484&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.29.6&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ID&amp;quot;: &amp;quot;db68e8e8-d4b4-4c4f-af41-4166eb33973d&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Ubuntu 22.04 (240702): Kubernetes v1.30.2&amp;quot;,&lt;br /&gt;
    &amp;quot;Status&amp;quot;: &amp;quot;active&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Node groups =&lt;br /&gt;
Node groups are used to create Kubernetes nodes with different properties (for example flavors).&lt;br /&gt;
&lt;br /&gt;
When creating a cluster, the following two node groups are created by default (see &amp;lt;code&amp;gt;openstack coe nodegroup list&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| uuid                                 | name           | flavor_id                   | image_id                             | node_count | status          | role   |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
| 5914ba24-99e5-4adf-b1a7-f53f8872d001 | default-master | Standard Düdingen c002m0004 | aa1eb1ec-c358-4bd6-a606-5272de053484 |          1 | CREATE_COMPLETE | master |&lt;br /&gt;
| 93e2c2c4-e4b1-4874-ad64-2b832868ff10 | default-worker | Standard Düdingen c002m0004 | aa1eb1ec-c358-4bd6-a606-5272de053484 |          1 | CREATE_COMPLETE | worker |&lt;br /&gt;
+--------------------------------------+----------------+-----------------------------+--------------------------------------+------------+-----------------+--------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The node group &amp;lt;code&amp;gt;default-master&amp;lt;/code&amp;gt; is used for Kubernetes control plane nodes and &amp;lt;code&amp;gt;default-worker&amp;lt;/code&amp;gt; for Kubernetes worker nodes.&lt;br /&gt;
&lt;br /&gt;
= Cluster template =&lt;br /&gt;
== Cluster template - List ==&lt;br /&gt;
To list existing cluster templates, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to have a list of the cluster templates sorted by their name. To do so, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster template list --format json \&lt;br /&gt;
  | jq --raw-output &#039;sort_by(.name) | .[] | &amp;quot;\(.uuid) \(.name)&amp;quot;&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template create&amp;lt;/code&amp;gt; to create a cluster template:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to use:&lt;br /&gt;
image=c539d525-d912-4acb-a7c3-bfcaf5f533c5 # Ubuntu 22.04 (20240605): Kubernetes v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster template to create:&lt;br /&gt;
cluster_template=&#039;&#039;  # For example: cluster_template=&#039;kubernetes-1.30.1&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template create &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --coe kubernetes \&lt;br /&gt;
  --image &amp;quot;$image&amp;quot; \&lt;br /&gt;
  --external-network public \&lt;br /&gt;
  --master-flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --flavor &#039;Standard Düdingen c002m0004&#039; \&lt;br /&gt;
  --master-lb-enabled&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster template kubernetes-1.30.2 accepted&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| Field                 | Value                                |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
| insecure_registry     | -                                    |&lt;br /&gt;
| labels                | {}                                   |&lt;br /&gt;
| updated_at            | -                                    |&lt;br /&gt;
| floating_ip_enabled   | True                                 |&lt;br /&gt;
| fixed_subnet          | -                                    |&lt;br /&gt;
| master_flavor_id      | Standard Düdingen c002m0004          |&lt;br /&gt;
| uuid                  | d69969e7-1239-4810-b092-c758d3e9ef2e |&lt;br /&gt;
| no_proxy              | -                                    |&lt;br /&gt;
| https_proxy           | -                                    |&lt;br /&gt;
| tls_disabled          | False                                |&lt;br /&gt;
| keypair_id            | -                                    |&lt;br /&gt;
| public                | True                                 |&lt;br /&gt;
| http_proxy            | -                                    |&lt;br /&gt;
| docker_volume_size    | -                                    |&lt;br /&gt;
| server_type           | vm                                   |&lt;br /&gt;
| external_network_id   | public                               |&lt;br /&gt;
| cluster_distro        | ubuntu                               |&lt;br /&gt;
| image_id              | db68e8e8-d4b4-4c4f-af41-4166eb33973d |&lt;br /&gt;
| volume_driver         | -                                    |&lt;br /&gt;
| registry_enabled      | False                                |&lt;br /&gt;
| docker_storage_driver | overlay2                             |&lt;br /&gt;
| apiserver_port        | -                                    |&lt;br /&gt;
| name                  | kubernetes-1.30.2                    |&lt;br /&gt;
| created_at            | 2024-08-07T14:39:52.314174+00:00     |&lt;br /&gt;
| network_driver        | flannel                              |&lt;br /&gt;
| fixed_network         | -                                    |&lt;br /&gt;
| coe                   | kubernetes                           |&lt;br /&gt;
| flavor_id             | Standard Düdingen c002m0004          |&lt;br /&gt;
| master_lb_enabled     | True                                 |&lt;br /&gt;
| dns_nameserver        | 8.8.8.8                              |&lt;br /&gt;
| hidden                | False                                |&lt;br /&gt;
| tags                  | -                                    |&lt;br /&gt;
+-----------------------+--------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the argument &amp;lt;code&amp;gt;--external-network public&amp;lt;/code&amp;gt; will use the default floating IP addresses. If you wish to use a different network, replace &amp;lt;code&amp;gt;public&amp;lt;/code&amp;gt; accordingly.&lt;br /&gt;
&lt;br /&gt;
For a list of all labels see [https://docs.openstack.org/magnum/latest/user/#labels Magnum User Guide - Labels].&lt;br /&gt;
&lt;br /&gt;
== Cluster template - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster template delete&amp;lt;/code&amp;gt; to delete a cluster template:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to delete:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster template delete &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cluster =&lt;br /&gt;
== Cluster - List ==&lt;br /&gt;
To list existing clusters, use the following command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Creation ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt; to create a cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the cluster to create:&lt;br /&gt;
cluster_name=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster create \&lt;br /&gt;
  --cluster-template &amp;quot;$cluster_template&amp;quot; \&lt;br /&gt;
  --master-count 1 \&lt;br /&gt;
  --node-count 2 \&lt;br /&gt;
   &amp;quot;$cluster_name&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to create cluster 9bb54949-2469-4b7e-99c8-4cb2730d4e8f accepted&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
* &amp;lt;code&amp;gt;--master-count&amp;lt;/code&amp;gt;: number of control plane nodes. Note that the number of control plane nodes must be odd due to etcd. Cluster creation will fail if the number of control plane nodes is even.&lt;br /&gt;
* &amp;lt;code&amp;gt;--node-count&amp;lt;/code&amp;gt;: number of worker nodes.&lt;br /&gt;
|-| OpenTofu/Terraform =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;tf&amp;quot;&amp;gt;&lt;br /&gt;
data &amp;quot;openstack_containerinfra_clustertemplate_v1&amp;quot; &amp;quot;k8s_template_1_30&amp;quot; {&lt;br /&gt;
  name = &amp;quot;kubernetes-1.30.2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
resource &amp;quot;openstack_containerinfra_cluster_v1&amp;quot; &amp;quot;cluster_1&amp;quot; {&lt;br /&gt;
  name                = &amp;quot;cluster-1&amp;quot;&lt;br /&gt;
  cluster_template_id = data.openstack_containerinfra_clustertemplate_v1.k8s_template_1_30.id&lt;br /&gt;
  master_count        = 1&lt;br /&gt;
  node_count          = 2&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After creating the cluster, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster to be created): &lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
Status during cluster creation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_IN_PROGRESS | None          |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Status after that the cluster has been successfully created:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | CREATE_COMPLETE    | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Deletion ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster delete&amp;lt;/code&amp;gt; to delete a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to delete:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster delete &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Access ==&lt;br /&gt;
To access a created cluster with &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;helm&amp;lt;/code&amp;gt; etc., use &amp;lt;code&amp;gt;openstack coe cluster config&amp;lt;/code&amp;gt; to retrieve the cluster&#039;s configuration (essentially the &amp;quot;kubeconfig&amp;quot; file):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Path to the directory where the Kubeconfig file will be stored:&lt;br /&gt;
directory=&amp;quot;$HOME&amp;quot;/.kube&lt;br /&gt;
&lt;br /&gt;
# Make sure the directory exists:&lt;br /&gt;
mkdir --parent &amp;quot;$directory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Download the kubeconfig.&lt;br /&gt;
# This will create the kubeconfig file at $directory/config&lt;br /&gt;
openstack coe cluster config --dir &amp;quot;$directory&amp;quot; &amp;quot;$cluster&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on where the kubeconfig file has been store, you will need to set the environment variable &amp;lt;code&amp;gt;KUBECONFIG&amp;lt;/code&amp;gt; accordingly (if you used the directory &amp;lt;code&amp;gt;.kube&amp;lt;/code&amp;gt; in your home directory, this step is not required as &amp;lt;code&amp;gt;~/.kube/config&amp;lt;/code&amp;gt; is the default kubeconfig path):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export KUBECONFIG=/path/to/kube/config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will now be able to access the cluster using &amp;lt;code&amp;gt;kubectl&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl get node -o wide&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
NAME                                                     STATUS   ROLES           AGE   VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-control-plane-jl86d          Ready    control-plane   45m   v1.28.11   10.0.0.149    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
sst-yde-test-1-fj6ladv5sne3-default-worker-b2c7j-5bh2w   Ready    &amp;lt;none&amp;gt;          44m   v1.28.11   10.0.0.150    &amp;lt;none&amp;gt;        Ubuntu 22.04.4 LTS   5.15.0-113-generic   containerd://1.7.13&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Scaling ==&lt;br /&gt;
Use &amp;lt;code&amp;gt;openstack coe cluster resize&amp;lt;/code&amp;gt; to change the number of worker nodes in a cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Number of worker nodes, for example &#039;6&#039;:&lt;br /&gt;
nodes=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster resize &amp;quot;$cluster&amp;quot; &amp;quot;$nodes&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Upgrade ==&lt;br /&gt;
To upgrade a cluster (upgrading the version of Kubernetes), a new [[#Creation - Cluster template | cluster template needs to be created]] first. This cluster template must use a newer Kubernetes version than the one used in your current cluster template.&lt;br /&gt;
&lt;br /&gt;
After creating the cluster template, use &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt; to assign the new cluster template to your cluster:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the cluster to upgrade:&lt;br /&gt;
cluster=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# ID or name of the new cluster template to use:&lt;br /&gt;
cluster_template=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
openstack coe cluster upgrade &amp;quot;$cluster&amp;quot; &amp;quot;$cluster_template&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Request to upgrade cluster sst-yde-test-1 has been accepted.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;openstack coe cluster upgrade&amp;lt;/code&amp;gt;, you can inspect the cluster&#039;s state using &amp;lt;code&amp;gt;openstack coe cluster list&amp;lt;/code&amp;gt; (it will take some time for the cluster upgrade/downgrade to be completed):&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-| OpenStack CLI =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openstack coe cluster list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
During the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status             | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_IN_PROGRESS | UNHEALTHY     |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+--------------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the upgrade:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| uuid                                 | name           | keypair    | node_count | master_count | status          | health_status |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
| e41cc55c-9f63-4880-9c18-0c021545efa4 | sst-yde-test-1 | None       |          1 |            1 | UPDATE_COMPLETE | HEALTHY       |&lt;br /&gt;
+--------------------------------------+----------------+------------+------------+--------------+-----------------+---------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cluster - Downgrade ==&lt;br /&gt;
A downgrade of a cluster works the same as an [[#Upgrade | Upgrade]], but you will have to use a cluster template that uses an image with an older Kubernetes version.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
== Troubleshooting - Adjusting the Kubernetes image label kube_version ==&lt;br /&gt;
When creating a cluster using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;, you might encounter the following error:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Image c539d525-d912-4acb-a7c3-bfcaf5f533c5 does not have a kube_version property.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To fix this problem, add the &amp;lt;code&amp;gt;kube_version&amp;lt;/code&amp;gt; property to the image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ID or name of the OpenStack Kubernetes image to adjust:&lt;br /&gt;
image_id=&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# The Kubernetes version of the image:&lt;br /&gt;
k8s_image_version=v1.30.1&lt;br /&gt;
&lt;br /&gt;
# Adjust the image and add the &amp;quot;kube_version&amp;quot; property:&lt;br /&gt;
openstack image set &amp;quot;$image_id&amp;quot; --property kube_version=&amp;quot;$k8s_image_version&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After adjust the image property you will have to delete the existing cluster and re-create it using &amp;lt;code&amp;gt;openstack coe cluster create&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category: Kubernetes]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_allenai/olmOCR-2-7B&amp;diff=1057</id>
		<title>AI on demand: allenai/olmOCR-2-7B</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_allenai/olmOCR-2-7B&amp;diff=1057"/>
		<updated>2026-05-28T08:18:14Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Calling the model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
[[Image:testocr.png|thumb|The image used in the example to run OCR against.]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=allenai/olmOCR-2-7B&lt;br /&gt;
&lt;br /&gt;
# Set the desired document to run OCR against:&lt;br /&gt;
FILE_PATH=document.png&lt;br /&gt;
&lt;br /&gt;
# Encode document contents with Base64 and detect MIME type:&lt;br /&gt;
FILE_CONTENT_BASE64=$(base64 -w 0 &amp;lt; &amp;quot;$FILE_PATH&amp;quot;)&lt;br /&gt;
FILE_MIME_TYPE=$(file --brief --mime-type &amp;quot;$FILE_PATH&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/chat/completions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &#039;Content-Type: application/json&#039; \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;&#039;&amp;quot;$MODEL&amp;quot;&#039;&amp;quot;,&lt;br /&gt;
                &amp;quot;messages&amp;quot;: [{&lt;br /&gt;
                        &amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
                        &amp;quot;content&amp;quot;: [{&lt;br /&gt;
                                &amp;quot;type&amp;quot;: &amp;quot;image_url&amp;quot;,&lt;br /&gt;
                                &amp;quot;image_url&amp;quot;: {&lt;br /&gt;
                                        &amp;quot;url&amp;quot;: &amp;quot;data:&#039;&amp;quot;$FILE_MIME_TYPE&amp;quot;&#039;;base64,&#039;&amp;quot;$FILE_CONTENT_BASE64&amp;quot;&#039;&amp;quot;&lt;br /&gt;
                                }&lt;br /&gt;
                        }]&lt;br /&gt;
                }],&lt;br /&gt;
                &amp;quot;max_tokens&amp;quot;: 4096,&lt;br /&gt;
                &amp;quot;temperature&amp;quot;: 0.2,&lt;br /&gt;
                &amp;quot;top_p&amp;quot;: 0.9&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;chatcmpl-b96a0fa8d921c5ed&amp;quot;,&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;chat.completion&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: 1779956243,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;allenai/olmOCR-2-7B&amp;quot;,&lt;br /&gt;
  &amp;quot;choices&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;message&amp;quot;: {&lt;br /&gt;
        &amp;quot;role&amp;quot;: &amp;quot;assistant&amp;quot;,&lt;br /&gt;
        &amp;quot;content&amp;quot;: &amp;quot;This is a lot of 12 point text to test the ocr code and see if it works on all types of file format.\nThe quick brown dog jumped over the lazy fox. The quick brown dog jumped over the lazy fox. The quick brown dog jumped over the lazy fox. The quick brown dog jumped over the lazy fox.&amp;quot;,&lt;br /&gt;
        &amp;quot;refusal&amp;quot;: null,&lt;br /&gt;
        &amp;quot;annotations&amp;quot;: null,&lt;br /&gt;
        &amp;quot;audio&amp;quot;: null,&lt;br /&gt;
        &amp;quot;function_call&amp;quot;: null,&lt;br /&gt;
        &amp;quot;tool_calls&amp;quot;: [],&lt;br /&gt;
        &amp;quot;reasoning&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;logprobs&amp;quot;: null,&lt;br /&gt;
      &amp;quot;finish_reason&amp;quot;: &amp;quot;stop&amp;quot;,&lt;br /&gt;
      &amp;quot;stop_reason&amp;quot;: null,&lt;br /&gt;
      &amp;quot;token_ids&amp;quot;: null&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;service_tier&amp;quot;: null,&lt;br /&gt;
  &amp;quot;system_fingerprint&amp;quot;: null,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 412,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 481,&lt;br /&gt;
    &amp;quot;completion_tokens&amp;quot;: 69,&lt;br /&gt;
    &amp;quot;prompt_tokens_details&amp;quot;: null&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;prompt_logprobs&amp;quot;: null,&lt;br /&gt;
  &amp;quot;prompt_token_ids&amp;quot;: null,&lt;br /&gt;
  &amp;quot;kv_transfer_params&amp;quot;: null&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_lightonai/LightOnOCR-2-1B&amp;diff=1056</id>
		<title>AI on demand: lightonai/LightOnOCR-2-1B</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_lightonai/LightOnOCR-2-1B&amp;diff=1056"/>
		<updated>2026-05-28T08:15:00Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Calling the model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
[[Image:testocr.png|thumb|The image used in the example to run OCR against.]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=lightonai/LightOnOCR-2-1B&lt;br /&gt;
&lt;br /&gt;
# Set the desired document to run OCR against:&lt;br /&gt;
FILE_PATH=document.png&lt;br /&gt;
&lt;br /&gt;
# Encode document contents with Base64 and detect MIME type:&lt;br /&gt;
FILE_CONTENT_BASE64=$(base64 -w 0 &amp;lt; &amp;quot;$FILE_PATH&amp;quot;)&lt;br /&gt;
FILE_MIME_TYPE=$(file --brief --mime-type &amp;quot;$FILE_PATH&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/chat/completions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &#039;Content-Type: application/json&#039; \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;&#039;&amp;quot;$MODEL&amp;quot;&#039;&amp;quot;,&lt;br /&gt;
                &amp;quot;messages&amp;quot;: [{&lt;br /&gt;
                        &amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
                        &amp;quot;content&amp;quot;: [{&lt;br /&gt;
                                &amp;quot;type&amp;quot;: &amp;quot;image_url&amp;quot;,&lt;br /&gt;
                                &amp;quot;image_url&amp;quot;: {&lt;br /&gt;
                                        &amp;quot;url&amp;quot;: &amp;quot;data:&#039;&amp;quot;$FILE_MIME_TYPE&amp;quot;&#039;;base64,&#039;&amp;quot;$FILE_CONTENT_BASE64&amp;quot;&#039;&amp;quot;&lt;br /&gt;
                                }&lt;br /&gt;
                        }]&lt;br /&gt;
                }],&lt;br /&gt;
                &amp;quot;max_tokens&amp;quot;: 4096,&lt;br /&gt;
                &amp;quot;temperature&amp;quot;: 0.2,&lt;br /&gt;
                &amp;quot;top_p&amp;quot;: 0.9&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;chatcmpl-b9d11ab9588ee638&amp;quot;,&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;chat.completion&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: 1778491557,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;lightonai/LightOnOCR-2-1B&amp;quot;,&lt;br /&gt;
  &amp;quot;choices&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;message&amp;quot;: {&lt;br /&gt;
        &amp;quot;role&amp;quot;: &amp;quot;assistant&amp;quot;,&lt;br /&gt;
        &amp;quot;content&amp;quot;: &amp;quot;This is a lot of 12 point text to test the ocr code and see if it works on all types of file format.\n\nThe quick brown dog jumped over the lazy fox. The quick brown dog jumped over the lazy fox. The quick brown dog jumped over the lazy fox. The quick brown dog jumped over the lazy fox.&amp;quot;,&lt;br /&gt;
        &amp;quot;refusal&amp;quot;: null,&lt;br /&gt;
        &amp;quot;annotations&amp;quot;: null,&lt;br /&gt;
        &amp;quot;audio&amp;quot;: null,&lt;br /&gt;
        &amp;quot;function_call&amp;quot;: null,&lt;br /&gt;
        &amp;quot;tool_calls&amp;quot;: [],&lt;br /&gt;
        &amp;quot;reasoning&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;logprobs&amp;quot;: null,&lt;br /&gt;
      &amp;quot;finish_reason&amp;quot;: &amp;quot;stop&amp;quot;,&lt;br /&gt;
      &amp;quot;stop_reason&amp;quot;: null,&lt;br /&gt;
      &amp;quot;token_ids&amp;quot;: null&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;service_tier&amp;quot;: null,&lt;br /&gt;
  &amp;quot;system_fingerprint&amp;quot;: null,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 426,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 495,&lt;br /&gt;
    &amp;quot;completion_tokens&amp;quot;: 69,&lt;br /&gt;
    &amp;quot;prompt_tokens_details&amp;quot;: null&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;prompt_logprobs&amp;quot;: null,&lt;br /&gt;
  &amp;quot;prompt_token_ids&amp;quot;: null,&lt;br /&gt;
  &amp;quot;kv_transfer_params&amp;quot;: null&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=File:testocr.png&amp;diff=1055</id>
		<title>File:testocr.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=File:testocr.png&amp;diff=1055"/>
		<updated>2026-05-28T08:13:06Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_Usage&amp;diff=1054</id>
		<title>AI on demand: Usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_Usage&amp;diff=1054"/>
		<updated>2026-05-11T11:20:19Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Usage - List all models - Generic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This pages describes some useful usage commands.&lt;br /&gt;
&lt;br /&gt;
= Usage =&lt;br /&gt;
We assume you&#039;ve received your API key from us in our usual manner.&lt;br /&gt;
&lt;br /&gt;
== Usage - List all models ==&lt;br /&gt;
=== Usage - List all models - Generic ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all generic models:&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/models \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;json&#039;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;allenai/olmOCR-2-7B&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 8192,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;lightonai/LightOnOCR-2-1B&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 16384,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;MinerU2.5-2509-1.2B&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 16384,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;MiniMaxAI/MiniMax-M2.5&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 196608,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 131072,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;Qwen/Qwen3.5-35B-A3B-FP8&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 131072,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;Qwen/Qwen3-Coder-Next&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 262144,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage - List all models - Audio ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all audio models:&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/audio/models \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;mistralai/Voxtral-Mini-3B-2507&amp;quot;,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;openai/whisper-large-v3&amp;quot;,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage - List all models - Embeddings ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all embeddings models:&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/embeddings/models \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;BAAI/bge-m3&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 8192,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage - List all models - Rerank ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all rerank models:&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/rerank/models \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;BAAI/bge-reranker-v2-m3&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 8192,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usage - Inspecting your usage ==&lt;br /&gt;
We issue one key per model for now. The usage is thus per-model-per-key.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set desired month in the form YYYY-MM, for example: &#039;2026-03&#039;.&lt;br /&gt;
MONTH=$(date +%Y-%m)&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/usage?month=&amp;quot;$MONTH&amp;quot; \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;models&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.000002,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;MinerU2.5-2509-1.2B&amp;quot;,&lt;br /&gt;
      &amp;quot;output&amp;quot;: 16,&lt;br /&gt;
      &amp;quot;input&amp;quot;: 70&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.054537,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;MiniMaxAI/MiniMax-M2.5&amp;quot;,&lt;br /&gt;
      &amp;quot;output&amp;quot;: 3603,&lt;br /&gt;
      &amp;quot;input&amp;quot;: 10097&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.0016,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;mistralai/Voxtral-Mini-3B-2507&amp;quot;,&lt;br /&gt;
      &amp;quot;seconds&amp;quot;: 8&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.003774,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;swiss-ai/Apertus-70B-Instruct-2509&amp;quot;,&lt;br /&gt;
      &amp;quot;output&amp;quot;: 551,&lt;br /&gt;
      &amp;quot;input&amp;quot;: 443&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;month&amp;quot;: &amp;quot;2026-03&amp;quot;,&lt;br /&gt;
  &amp;quot;total_cost_chf&amp;quot;: 0.059913&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_opendatalab/MinerU2.5-2509-1.2B&amp;diff=1053</id>
		<title>AI on demand: opendatalab/MinerU2.5-2509-1.2B</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_opendatalab/MinerU2.5-2509-1.2B&amp;diff=1053"/>
		<updated>2026-05-11T09:28:00Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=MinerU2.5-2509-1.2B&lt;br /&gt;
&lt;br /&gt;
# Set the desired document to run OCR against:&lt;br /&gt;
FILE_PATH=document.png&lt;br /&gt;
&lt;br /&gt;
# Encode document contents with Base64 and detect MIME type:&lt;br /&gt;
FILE_CONTENT_BASE64=$(base64 -w 0 &amp;lt; &amp;quot;$FILE_PATH&amp;quot;)&lt;br /&gt;
FILE_MIME_TYPE=$(file --brief --mime-type &amp;quot;$FILE_PATH&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/chat/completions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &#039;Content-Type: application/json&#039; \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;&#039;&amp;quot;$MODEL&amp;quot;&#039;&amp;quot;,&lt;br /&gt;
                &amp;quot;messages&amp;quot;: [{&lt;br /&gt;
                        &amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
                        &amp;quot;content&amp;quot;: [{&lt;br /&gt;
                                &amp;quot;type&amp;quot;: &amp;quot;image_url&amp;quot;,&lt;br /&gt;
                                &amp;quot;image_url&amp;quot;: {&lt;br /&gt;
                                        &amp;quot;url&amp;quot;: &amp;quot;data:&#039;&amp;quot;$FILE_MIME_TYPE&amp;quot;&#039;;base64,&#039;&amp;quot;$FILE_CONTENT_BASE64&amp;quot;&#039;&amp;quot;&lt;br /&gt;
                                }&lt;br /&gt;
                        }]&lt;br /&gt;
                }],&lt;br /&gt;
                &amp;quot;max_tokens&amp;quot;: 4096,&lt;br /&gt;
                &amp;quot;temperature&amp;quot;: 0.2,&lt;br /&gt;
                &amp;quot;top_p&amp;quot;: 0.9&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;chatcmpl-928cc308fa758fc8&amp;quot;,&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;chat.completion&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: 1778491655,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;MinerU2.5-2509-1.2B&amp;quot;,&lt;br /&gt;
  &amp;quot;choices&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;message&amp;quot;: {&lt;br /&gt;
        &amp;quot;role&amp;quot;: &amp;quot;assistant&amp;quot;,&lt;br /&gt;
        &amp;quot;content&amp;quot;: &amp;quot;This is a lot of 12 point text to test theOCR code and see if it works on all types of file format. The quick brown dog jumped over the lazy fox. The quick brown dog jumped over the lazy fox. The quick brown dog jumped over the lazy fox. The quick brown dog jumped over the lazy fox.&amp;quot;,&lt;br /&gt;
        &amp;quot;refusal&amp;quot;: null,&lt;br /&gt;
        &amp;quot;annotations&amp;quot;: null,&lt;br /&gt;
        &amp;quot;audio&amp;quot;: null,&lt;br /&gt;
        &amp;quot;function_call&amp;quot;: null,&lt;br /&gt;
        &amp;quot;tool_calls&amp;quot;: [],&lt;br /&gt;
        &amp;quot;reasoning&amp;quot;: null,&lt;br /&gt;
        &amp;quot;reasoning_content&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;logprobs&amp;quot;: null,&lt;br /&gt;
      &amp;quot;finish_reason&amp;quot;: &amp;quot;stop&amp;quot;,&lt;br /&gt;
      &amp;quot;stop_reason&amp;quot;: null,&lt;br /&gt;
      &amp;quot;token_ids&amp;quot;: null&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;service_tier&amp;quot;: null,&lt;br /&gt;
  &amp;quot;system_fingerprint&amp;quot;: null,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 412,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 480,&lt;br /&gt;
    &amp;quot;completion_tokens&amp;quot;: 68,&lt;br /&gt;
    &amp;quot;prompt_tokens_details&amp;quot;: null&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;prompt_logprobs&amp;quot;: null,&lt;br /&gt;
  &amp;quot;prompt_token_ids&amp;quot;: null,&lt;br /&gt;
  &amp;quot;kv_transfer_params&amp;quot;: null&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_lightonai/LightOnOCR-2-1B&amp;diff=1052</id>
		<title>AI on demand: lightonai/LightOnOCR-2-1B</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_lightonai/LightOnOCR-2-1B&amp;diff=1052"/>
		<updated>2026-05-11T09:26:08Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: Created page with &amp;quot;== Calling the model == &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; # Set your personal key: STONEY_KEY=sk-...  # Set the desired model: MODEL=lightonai/LightOnOCR-2-1B  # Set the desired document to run OCR against: FILE_PATH=document.png  # Encode document contents with Base64 and detect MIME type: FILE_CONTENT_BASE64=$(base64 -w 0 &amp;lt; &amp;quot;$FILE_PATH&amp;quot;) FILE_MIME_TYPE=$(file --brief --mime-type &amp;quot;$FILE_PATH&amp;quot;)  curl https://llm.stoney-cloud.com/v1/chat/completions \         --silent --fail...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=lightonai/LightOnOCR-2-1B&lt;br /&gt;
&lt;br /&gt;
# Set the desired document to run OCR against:&lt;br /&gt;
FILE_PATH=document.png&lt;br /&gt;
&lt;br /&gt;
# Encode document contents with Base64 and detect MIME type:&lt;br /&gt;
FILE_CONTENT_BASE64=$(base64 -w 0 &amp;lt; &amp;quot;$FILE_PATH&amp;quot;)&lt;br /&gt;
FILE_MIME_TYPE=$(file --brief --mime-type &amp;quot;$FILE_PATH&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/chat/completions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &#039;Content-Type: application/json&#039; \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;&#039;&amp;quot;$MODEL&amp;quot;&#039;&amp;quot;,&lt;br /&gt;
                &amp;quot;messages&amp;quot;: [{&lt;br /&gt;
                        &amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
                        &amp;quot;content&amp;quot;: [{&lt;br /&gt;
                                &amp;quot;type&amp;quot;: &amp;quot;image_url&amp;quot;,&lt;br /&gt;
                                &amp;quot;image_url&amp;quot;: {&lt;br /&gt;
                                        &amp;quot;url&amp;quot;: &amp;quot;data:&#039;&amp;quot;$FILE_MIME_TYPE&amp;quot;&#039;;base64,&#039;&amp;quot;$FILE_CONTENT_BASE64&amp;quot;&#039;&amp;quot;&lt;br /&gt;
                                }&lt;br /&gt;
                        }]&lt;br /&gt;
                }],&lt;br /&gt;
                &amp;quot;max_tokens&amp;quot;: 4096,&lt;br /&gt;
                &amp;quot;temperature&amp;quot;: 0.2,&lt;br /&gt;
                &amp;quot;top_p&amp;quot;: 0.9&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;chatcmpl-b9d11ab9588ee638&amp;quot;,&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;chat.completion&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: 1778491557,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;lightonai/LightOnOCR-2-1B&amp;quot;,&lt;br /&gt;
  &amp;quot;choices&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;message&amp;quot;: {&lt;br /&gt;
        &amp;quot;role&amp;quot;: &amp;quot;assistant&amp;quot;,&lt;br /&gt;
        &amp;quot;content&amp;quot;: &amp;quot;This is a lot of 12 point text to test the ocr code and see if it works on all types of file format.\n\nThe quick brown dog jumped over the lazy fox. The quick brown dog jumped over the lazy fox. The quick brown dog jumped over the lazy fox. The quick brown dog jumped over the lazy fox.&amp;quot;,&lt;br /&gt;
        &amp;quot;refusal&amp;quot;: null,&lt;br /&gt;
        &amp;quot;annotations&amp;quot;: null,&lt;br /&gt;
        &amp;quot;audio&amp;quot;: null,&lt;br /&gt;
        &amp;quot;function_call&amp;quot;: null,&lt;br /&gt;
        &amp;quot;tool_calls&amp;quot;: [],&lt;br /&gt;
        &amp;quot;reasoning&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;logprobs&amp;quot;: null,&lt;br /&gt;
      &amp;quot;finish_reason&amp;quot;: &amp;quot;stop&amp;quot;,&lt;br /&gt;
      &amp;quot;stop_reason&amp;quot;: null,&lt;br /&gt;
      &amp;quot;token_ids&amp;quot;: null&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;service_tier&amp;quot;: null,&lt;br /&gt;
  &amp;quot;system_fingerprint&amp;quot;: null,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 426,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 495,&lt;br /&gt;
    &amp;quot;completion_tokens&amp;quot;: 69,&lt;br /&gt;
    &amp;quot;prompt_tokens_details&amp;quot;: null&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;prompt_logprobs&amp;quot;: null,&lt;br /&gt;
  &amp;quot;prompt_token_ids&amp;quot;: null,&lt;br /&gt;
  &amp;quot;kv_transfer_params&amp;quot;: null&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1051</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1051"/>
		<updated>2026-05-11T08:31:50Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:left; width:48%;&amp;quot;&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Welcome to the wiki of our [https://www.openstack.org/ OpenStack] based [https://www.stoney-cloud.com/ stoney cloud] infrastructure.&lt;br /&gt;
This collection serves as a comprehensive resource for all aspects of our cloud environment. Here, you will find guides for managing and utilizing our stoney cloud.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
[[Quickstart]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width:48%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Projects|Projects]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Instances|Instances]]&lt;br /&gt;
* [[VM creation (Linux)]]&lt;br /&gt;
* [[VM creation (Windows)]]&lt;br /&gt;
* [[VM resize (Linux)]]&lt;br /&gt;
* [[VM resize (Windows)]]&lt;br /&gt;
* [[Flavor explanation]]&lt;br /&gt;
[[:Category:Volumes|Volumes]]&lt;br /&gt;
* [[Quota]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Images|Images]]&lt;br /&gt;
* [[Image creation]]&lt;br /&gt;
[[:Category:Network|Network]]&lt;br /&gt;
* [[Security group rules]]&lt;br /&gt;
* [[IP usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Object store|Object store]]&lt;br /&gt;
* [[S3 buckets]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Kubernetes|Kubernetes]]&lt;br /&gt;
* [[Kubernetes management]]&lt;br /&gt;
* [[Kubernetes usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:AI on demand|AI on demand]]&lt;br /&gt;
* [[AI on demand: Usage]] (list models, show usage, ...)&lt;br /&gt;
* [[AI on demand: BAAI/bge-m3]]&lt;br /&gt;
* [[AI on demand: BAAI/bge-reranker-v2-m3]]&lt;br /&gt;
* [[AI on demand: MiniMaxAI/MiniMax-M2.5]]&lt;br /&gt;
* [[AI on demand: NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B]]&lt;br /&gt;
* [[AI on demand: Qwen/Qwen3-Coder-Next]]&lt;br /&gt;
* [[AI on demand: Qwen/Qwen3.5-35B-A3B-FP8]]&lt;br /&gt;
* [[AI on demand: allenai/olmOCR-2-7B]]&lt;br /&gt;
* [[AI on demand: lightonai/LightOnOCR-2-1B]]&lt;br /&gt;
* [[AI on demand: mistralai/Voxtral-Mini-3B-2507]]&lt;br /&gt;
* [[AI on demand: openai/whisper-large-v3]]&lt;br /&gt;
* [[AI on demand: opendatalab/MinerU2.5-2509-1.2B]]&lt;br /&gt;
* &amp;lt;s&amp;gt;[[AI on demand: swiss-ai/Apertus-70B-Instruct-2509]]&amp;lt;/s&amp;gt; (discontinued since the 7th of May 2026!)&lt;br /&gt;
&lt;br /&gt;
[[:Category:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[PCI workaround]]&lt;br /&gt;
* [[Change user password]]&lt;br /&gt;
&lt;br /&gt;
== Quick links ==&lt;br /&gt;
* [https://www.stoney-cloud.com/ stoney cloud Website]&lt;br /&gt;
* [https://dashboard.stoney-cloud.com/ stoney cloud Dashboard]&lt;br /&gt;
* [https://docs.openstack.org/horizon/latest/user/index.html Official OpenStack Dashboard Documentation]&lt;br /&gt;
* [https://docs.openstack.org/python-openstackclient/latest/cli/index.html Official OpenStack CLI Documentation]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; height:0px; line-height:0px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1050</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1050"/>
		<updated>2026-05-11T07:04:45Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:left; width:48%;&amp;quot;&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Welcome to the wiki of our [https://www.openstack.org/ OpenStack] based [https://www.stoney-cloud.com/ stoney cloud] infrastructure.&lt;br /&gt;
This collection serves as a comprehensive resource for all aspects of our cloud environment. Here, you will find guides for managing and utilizing our stoney cloud.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
[[Quickstart]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width:48%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Projects|Projects]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Instances|Instances]]&lt;br /&gt;
* [[VM creation (Linux)]]&lt;br /&gt;
* [[VM creation (Windows)]]&lt;br /&gt;
* [[VM resize (Linux)]]&lt;br /&gt;
* [[VM resize (Windows)]]&lt;br /&gt;
* [[Flavor explanation]]&lt;br /&gt;
[[:Category:Volumes|Volumes]]&lt;br /&gt;
* [[Quota]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Images|Images]]&lt;br /&gt;
* [[Image creation]]&lt;br /&gt;
[[:Category:Network|Network]]&lt;br /&gt;
* [[Security group rules]]&lt;br /&gt;
* [[IP usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Object store|Object store]]&lt;br /&gt;
* [[S3 buckets]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Kubernetes|Kubernetes]]&lt;br /&gt;
* [[Kubernetes management]]&lt;br /&gt;
* [[Kubernetes usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:AI on demand|AI on demand]]&lt;br /&gt;
* [[AI on demand: Usage]] (list models, show usage, ...)&lt;br /&gt;
* [[AI on demand: BAAI/bge-m3]]&lt;br /&gt;
* [[AI on demand: BAAI/bge-reranker-v2-m3]]&lt;br /&gt;
* [[AI on demand: MiniMaxAI/MiniMax-M2.5]]&lt;br /&gt;
* [[AI on demand: NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B]]&lt;br /&gt;
* [[AI on demand: Qwen/Qwen3-Coder-Next]]&lt;br /&gt;
* [[AI on demand: Qwen/Qwen3.5-35B-A3B-FP8]]&lt;br /&gt;
* [[AI on demand: allenai/olmOCR-2-7B]]&lt;br /&gt;
* [[AI on demand: mistralai/Voxtral-Mini-3B-2507]]&lt;br /&gt;
* [[AI on demand: openai/whisper-large-v3]]&lt;br /&gt;
* [[AI on demand: opendatalab/MinerU2.5-2509-1.2B]]&lt;br /&gt;
* &amp;lt;s&amp;gt;[[AI on demand: swiss-ai/Apertus-70B-Instruct-2509]]&amp;lt;/s&amp;gt; (discontinued since the 7th of May 2026!)&lt;br /&gt;
&lt;br /&gt;
[[:Category:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[PCI workaround]]&lt;br /&gt;
* [[Change user password]]&lt;br /&gt;
&lt;br /&gt;
== Quick links ==&lt;br /&gt;
* [https://www.stoney-cloud.com/ stoney cloud Website]&lt;br /&gt;
* [https://dashboard.stoney-cloud.com/ stoney cloud Dashboard]&lt;br /&gt;
* [https://docs.openstack.org/horizon/latest/user/index.html Official OpenStack Dashboard Documentation]&lt;br /&gt;
* [https://docs.openstack.org/python-openstackclient/latest/cli/index.html Official OpenStack CLI Documentation]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; height:0px; line-height:0px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=MediaWiki_cheat_sheet&amp;diff=1047</id>
		<title>MediaWiki cheat sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=MediaWiki_cheat_sheet&amp;diff=1047"/>
		<updated>2026-05-07T22:08:11Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Create tabs within a page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
A list of commonly used MediaWiki formats.&lt;br /&gt;
&lt;br /&gt;
= Tips =&lt;br /&gt;
To create a newline, you need to press Enter twice:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This must&lt;br /&gt;
be on a new line&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This must&lt;br /&gt;
be on a new line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This must&lt;br /&gt;
&lt;br /&gt;
be on a new line&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This must&lt;br /&gt;
&lt;br /&gt;
be on a new line&lt;br /&gt;
&lt;br /&gt;
= Lists =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* One&lt;br /&gt;
** Two&lt;br /&gt;
*** Three&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    One&lt;br /&gt;
    ** Two&lt;br /&gt;
    *** Three&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# One&lt;br /&gt;
# Two&lt;br /&gt;
## Two.one&lt;br /&gt;
### Two.one.one&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
One&lt;br /&gt;
Two&lt;br /&gt;
Two.one&lt;br /&gt;
Two.one.one&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Bold and italic =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;&#039; This is italic&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;This is bold&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;This is bold and italic&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039; This is italic&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is bold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;This is bold and italic&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Headings =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
= One =&lt;br /&gt;
== Two ==&lt;br /&gt;
=== Three ===&lt;br /&gt;
==== Four ====&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
= One =&lt;br /&gt;
== Two ==&lt;br /&gt;
=== Three ===&lt;br /&gt;
==== Four ====&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Link:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://www.stepping-stone.ch/en/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://www.stepping-stone.ch/en/&lt;br /&gt;
&lt;br /&gt;
Cool link:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[https://www.stepping-stone.ch/en/ Homepage]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.stepping-stone.ch/en/ Homepage]&lt;br /&gt;
&lt;br /&gt;
Link within the wiki&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[[Main_Page | Main Page]]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Main_Page | Main Page]]&lt;br /&gt;
&lt;br /&gt;
= Text blocks =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
This is text&lt;br /&gt;
&amp;amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
This is text&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Source code =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Hello world!&amp;quot;&lt;br /&gt;
&amp;amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Hello world!&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Create tabs within a page =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|OpenStack CLI=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;bash&#039;&amp;gt;&lt;br /&gt;
openstack server show ${server_id}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|OpenStack Dashboard=&lt;br /&gt;
[[File:Debian VM Creation Dashboard manual 01.png|400px]]&lt;br /&gt;
|-|OpenTofu=&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|OpenStack CLI=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;bash&#039;&amp;gt;&lt;br /&gt;
openstack server show ${server_id}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-|OpenStack Dashboard=&lt;br /&gt;
[[File:Debian VM Creation Dashboard manual 01.png|400px]]&lt;br /&gt;
|-|OpenTofu=&lt;br /&gt;
OpenTofu code example [...]&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Troubleshooting]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_mistralai/Voxtral-Mini-3B-2507&amp;diff=1046</id>
		<title>AI on demand: mistralai/Voxtral-Mini-3B-2507</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_mistralai/Voxtral-Mini-3B-2507&amp;diff=1046"/>
		<updated>2026-05-07T22:04:45Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Calling the model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=mistralai/Voxtral-Mini-3B-2507&lt;br /&gt;
&lt;br /&gt;
# Path to the audio file to transcribe:&lt;br /&gt;
AUDIO_FILE=your-audio-file.wav&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/audio/transcriptions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --form &amp;quot;file=@$AUDIO_FILE&amp;quot; \&lt;br /&gt;
        --form &amp;quot;model=$MODEL&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;text&amp;quot;: &amp;quot;Hello and welcome to the Stepping Stone LLM Gateway.&amp;quot;,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;duration&amp;quot;,&lt;br /&gt;
    &amp;quot;seconds&amp;quot;: 4&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The maximum request body size is currently 50 MiB, which limits the size of the audio file.&lt;br /&gt;
&lt;br /&gt;
The following audio formats/containers/codecs are supported: aiff, au, avr, caf, flac, htk, ircam, mat4, mat5, mp3, mpc2k, nist, ogg, paf, pvf, raw, rf64, sd2, sds, svx, voc, w64, wav, wavex, wve, xi&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_openai/whisper-large-v3&amp;diff=1045</id>
		<title>AI on demand: openai/whisper-large-v3</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_openai/whisper-large-v3&amp;diff=1045"/>
		<updated>2026-05-07T22:03:38Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Calling the model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=openai/whisper-large-v3&lt;br /&gt;
&lt;br /&gt;
# Path to the audio file to transcribe:&lt;br /&gt;
AUDIO_FILE=your-audio-file.wav&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/audio/transcriptions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --form &amp;quot;file=@$AUDIO_FILE&amp;quot; \&lt;br /&gt;
        --form &amp;quot;model=$MODEL&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;text&amp;quot;: &amp;quot;Hello and welcome to the Stepping Stone LLM Gateway.&amp;quot;,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;duration&amp;quot;,&lt;br /&gt;
    &amp;quot;seconds&amp;quot;: 4&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_usage&amp;diff=1044</id>
		<title>Kubernetes usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Kubernetes_usage&amp;diff=1044"/>
		<updated>2026-05-07T21:56:25Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Deploy and login to the Kubernetes Dashbaord */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This page describes basic usage of Kubernetes clusters in our OpenStack-based stoney cloud.&lt;br /&gt;
&lt;br /&gt;
You are expected to already have a running Kubernetes Cluster. If not, please refer to the [[Kubernetes management]] to learn how to create one.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This page is a work-in-progress, so if you face any challenges, please contact us with the specific issue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Kubernetes]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_openai/whisper-large-v3&amp;diff=1043</id>
		<title>AI on demand: openai/whisper-large-v3</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_openai/whisper-large-v3&amp;diff=1043"/>
		<updated>2026-05-07T15:59:33Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: Created page with &amp;quot;== Calling the model == &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; # Set your personal key: STONEY_KEY=sk-...  # Set the desired model: MODEL=openai/whisper-large-v3  # Path to the audio file to transcribe: AUDIO_FILE=your-audio-file.wav  curl -s https://llm.stoney-cloud.com/v1/audio/transcriptions \         --silent --fail --show-error \         --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \         --form &amp;quot;file=@$AUDIO_FILE&amp;quot; \         --form &amp;quot;model=$MODEL&amp;quot; \         | jq &amp;lt;/syntaxhi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=openai/whisper-large-v3&lt;br /&gt;
&lt;br /&gt;
# Path to the audio file to transcribe:&lt;br /&gt;
AUDIO_FILE=your-audio-file.wav&lt;br /&gt;
&lt;br /&gt;
curl -s https://llm.stoney-cloud.com/v1/audio/transcriptions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --form &amp;quot;file=@$AUDIO_FILE&amp;quot; \&lt;br /&gt;
        --form &amp;quot;model=$MODEL&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;text&amp;quot;: &amp;quot;Hello and welcome to the Stepping Stone LLM Gateway.&amp;quot;,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;duration&amp;quot;,&lt;br /&gt;
    &amp;quot;seconds&amp;quot;: 4&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1042</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1042"/>
		<updated>2026-05-07T15:56:11Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:left; width:48%;&amp;quot;&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Welcome to the wiki of our [https://www.openstack.org/ OpenStack] based [https://www.stoney-cloud.com/ stoney cloud] infrastructure.&lt;br /&gt;
This collection serves as a comprehensive resource for all aspects of our cloud environment. Here, you will find guides for managing and utilizing our stoney cloud.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
[[Quickstart]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width:48%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Projects|Projects]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Instances|Instances]]&lt;br /&gt;
* [[VM creation (Linux)]]&lt;br /&gt;
* [[VM creation (Windows)]]&lt;br /&gt;
* [[VM resize (Linux)]]&lt;br /&gt;
* [[VM resize (Windows)]]&lt;br /&gt;
* [[Flavor explanation]]&lt;br /&gt;
[[:Category:Volumes|Volumes]]&lt;br /&gt;
* [[Quota]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Images|Images]]&lt;br /&gt;
* [[Image creation]]&lt;br /&gt;
[[:Category:Network|Network]]&lt;br /&gt;
* [[Security group rules]]&lt;br /&gt;
* [[IP usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Object store|Object store]]&lt;br /&gt;
* [[S3 buckets]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Kubernetes|Kubernetes]]&lt;br /&gt;
* [[Kubernetes management]]&lt;br /&gt;
* [[Kubernetes usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:AI on demand|AI on demand]]&lt;br /&gt;
* [[AI on demand: Usage]] (list models, show usage, ...)&lt;br /&gt;
* [[AI on demand: BAAI/bge-m3]]&lt;br /&gt;
* [[AI on demand: BAAI/bge-reranker-v2-m3]]&lt;br /&gt;
* [[AI on demand: MiniMaxAI/MiniMax-M2.5]]&lt;br /&gt;
* [[AI on demand: NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B]]&lt;br /&gt;
* [[AI on demand: Qwen/Qwen3-Coder-Next]]&lt;br /&gt;
* [[AI on demand: Qwen/Qwen3.5-35B-A3B-FP8]]&lt;br /&gt;
* [[AI on demand: allenai/olmOCR-2-7B]]&lt;br /&gt;
* [[AI on demand: mistralai/Voxtral-Mini-3B-2507]]&lt;br /&gt;
* [[AI on demand: openai/whisper-large-v3]]&lt;br /&gt;
* [[AI on demand: opendatalab/MinerU2.5-2509-1.2B]]&lt;br /&gt;
* &amp;lt;s&amp;gt;[[AI on demand: swiss-ai/Apertus-70B-Instruct-2509]]&amp;lt;/s&amp;gt; (discontinued)&lt;br /&gt;
&lt;br /&gt;
[[:Category:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[PCI workaround]]&lt;br /&gt;
* [[Change user password]]&lt;br /&gt;
&lt;br /&gt;
== Quick links ==&lt;br /&gt;
* [https://www.stoney-cloud.com/ stoney cloud Website]&lt;br /&gt;
* [https://dashboard.stoney-cloud.com/ stoney cloud Dashboard]&lt;br /&gt;
* [https://docs.openstack.org/horizon/latest/user/index.html Official OpenStack Dashboard Documentation]&lt;br /&gt;
* [https://docs.openstack.org/python-openstackclient/latest/cli/index.html Official OpenStack CLI Documentation]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; height:0px; line-height:0px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Category:AI_on_demand&amp;diff=1041</id>
		<title>Category:AI on demand</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Category:AI_on_demand&amp;diff=1041"/>
		<updated>2026-05-07T12:45:11Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This category collects all AI on demand related pages.&lt;br /&gt;
&lt;br /&gt;
stepping stone AG is proud to serve customers with current language models and OCR solutions.&lt;br /&gt;
&lt;br /&gt;
All of our LLM services are reachable via the OpenAI-compatible gateway at https://llm.stoney-cloud.com/.&lt;br /&gt;
&lt;br /&gt;
Check out the [[AI on demand: Usage]] page. You can list the models, show your own usage information, etc.&lt;br /&gt;
&lt;br /&gt;
[[Category: Artificial Intelligence]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1040</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1040"/>
		<updated>2026-05-07T12:29:41Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:left; width:48%;&amp;quot;&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Welcome to the wiki of our [https://www.openstack.org/ OpenStack] based [https://www.stoney-cloud.com/ stoney cloud] infrastructure.&lt;br /&gt;
This collection serves as a comprehensive resource for all aspects of our cloud environment. Here, you will find guides for managing and utilizing our stoney cloud.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
[[Quickstart]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width:48%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Projects|Projects]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Instances|Instances]]&lt;br /&gt;
* [[VM creation (Linux)]]&lt;br /&gt;
* [[VM creation (Windows)]]&lt;br /&gt;
* [[VM resize (Linux)]]&lt;br /&gt;
* [[VM resize (Windows)]]&lt;br /&gt;
* [[Flavor explanation]]&lt;br /&gt;
[[:Category:Volumes|Volumes]]&lt;br /&gt;
* [[Quota]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Images|Images]]&lt;br /&gt;
* [[Image creation]]&lt;br /&gt;
[[:Category:Network|Network]]&lt;br /&gt;
* [[Security group rules]]&lt;br /&gt;
* [[IP usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Object store|Object store]]&lt;br /&gt;
* [[S3 buckets]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Kubernetes|Kubernetes]]&lt;br /&gt;
* [[Kubernetes management]]&lt;br /&gt;
* [[Kubernetes usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:AI on demand|AI on demand]]&lt;br /&gt;
* [[AI on demand: Usage]] (list models, show usage, ...)&lt;br /&gt;
* [[AI on demand: BAAI/bge-m3]]&lt;br /&gt;
* [[AI on demand: BAAI/bge-reranker-v2-m3]]&lt;br /&gt;
* [[AI on demand: MiniMaxAI/MiniMax-M2.5]]&lt;br /&gt;
* [[AI on demand: NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B]]&lt;br /&gt;
* [[AI on demand: Qwen/Qwen3-Coder-Next]]&lt;br /&gt;
* [[AI on demand: Qwen/Qwen3.5-35B-A3B-FP8]]&lt;br /&gt;
* [[AI on demand: allenai/olmOCR-2-7B]]&lt;br /&gt;
* [[AI on demand: mistralai/Voxtral-Mini-3B-2507]]&lt;br /&gt;
* [[AI on demand: opendatalab/MinerU2.5-2509-1.2B]]&lt;br /&gt;
* &amp;lt;s&amp;gt;[[AI on demand: swiss-ai/Apertus-70B-Instruct-2509]]&amp;lt;/s&amp;gt; (discontinued)&lt;br /&gt;
&lt;br /&gt;
[[:Category:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[PCI workaround]]&lt;br /&gt;
* [[Change user password]]&lt;br /&gt;
&lt;br /&gt;
== Quick links ==&lt;br /&gt;
* [https://www.stoney-cloud.com/ stoney cloud Website]&lt;br /&gt;
* [https://dashboard.stoney-cloud.com/ stoney cloud Dashboard]&lt;br /&gt;
* [https://docs.openstack.org/horizon/latest/user/index.html Official OpenStack Dashboard Documentation]&lt;br /&gt;
* [https://docs.openstack.org/python-openstackclient/latest/cli/index.html Official OpenStack CLI Documentation]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; height:0px; line-height:0px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_allenai/olmOCR-2-7B&amp;diff=1039</id>
		<title>AI on demand: allenai/olmOCR-2-7B</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_allenai/olmOCR-2-7B&amp;diff=1039"/>
		<updated>2026-05-07T12:28:34Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: Created page with &amp;quot;== Calling the model == &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; # Set your personal key: STONEY_KEY=sk-...  # Set the desired model: MODEL=allenai/olmOCR-2-7B  # Set your prompt: PROMPT=&amp;#039;Hello.&amp;#039;  # Set maximum amount of tokens: MAX_TOKENS=100  curl https://llm.stoney-cloud.com/v1/chat/completions \         --silent --fail --show-error \         --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \         --header &amp;#039;Content-Type: application/json&amp;#039;   \         --data &amp;#039;{                 &amp;quot;mo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=allenai/olmOCR-2-7B&lt;br /&gt;
&lt;br /&gt;
# Set your prompt:&lt;br /&gt;
PROMPT=&#039;Hello.&#039;&lt;br /&gt;
&lt;br /&gt;
# Set maximum amount of tokens:&lt;br /&gt;
MAX_TOKENS=100&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/chat/completions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &#039;Content-Type: application/json&#039;   \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;&#039;&amp;quot;$MODEL&amp;quot;&#039;&amp;quot;,&lt;br /&gt;
                &amp;quot;messages&amp;quot;: [&lt;br /&gt;
                        {&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;, &amp;quot;content&amp;quot;: &amp;quot;&#039;&amp;quot;$PROMPT&amp;quot;&#039;&amp;quot;}&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;max_tokens&amp;quot;: &#039;&amp;quot;$MAX_TOKENS&amp;quot;&#039;&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;chatcmpl-9cde8aaeb142c49e&amp;quot;,&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;chat.completion&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: 1778156891,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;allenai/olmOCR-2-7B&amp;quot;,&lt;br /&gt;
  &amp;quot;choices&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;message&amp;quot;: {&lt;br /&gt;
        &amp;quot;role&amp;quot;: &amp;quot;assistant&amp;quot;,&lt;br /&gt;
        &amp;quot;content&amp;quot;: &amp;quot;Hello! How can I help you today? Is there something specific you would like to know or discuss?&amp;quot;,&lt;br /&gt;
        &amp;quot;refusal&amp;quot;: null,&lt;br /&gt;
        &amp;quot;annotations&amp;quot;: null,&lt;br /&gt;
        &amp;quot;audio&amp;quot;: null,&lt;br /&gt;
        &amp;quot;function_call&amp;quot;: null,&lt;br /&gt;
        &amp;quot;tool_calls&amp;quot;: [],&lt;br /&gt;
        &amp;quot;reasoning&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;logprobs&amp;quot;: null,&lt;br /&gt;
      &amp;quot;finish_reason&amp;quot;: &amp;quot;stop&amp;quot;,&lt;br /&gt;
      &amp;quot;stop_reason&amp;quot;: null,&lt;br /&gt;
      &amp;quot;token_ids&amp;quot;: null&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;service_tier&amp;quot;: null,&lt;br /&gt;
  &amp;quot;system_fingerprint&amp;quot;: null,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 21,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 43,&lt;br /&gt;
    &amp;quot;completion_tokens&amp;quot;: 22,&lt;br /&gt;
    &amp;quot;prompt_tokens_details&amp;quot;: null&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;prompt_logprobs&amp;quot;: null,&lt;br /&gt;
  &amp;quot;prompt_token_ids&amp;quot;: null,&lt;br /&gt;
  &amp;quot;kv_transfer_params&amp;quot;: null&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B&amp;diff=1038</id>
		<title>AI on demand: NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B&amp;diff=1038"/>
		<updated>2026-05-07T12:27:45Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: Created page with &amp;quot;== Calling the model == &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; # Set your personal key: STONEY_KEY=sk-...  # Set the desired model: MODEL=NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B  # Set your prompt: PROMPT=&amp;#039;Hello.&amp;#039;  # Set maximum amount of tokens: MAX_TOKENS=100  curl https://llm.stoney-cloud.com/v1/chat/completions \         --silent --fail --show-error \         --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \         --header &amp;#039;Content-Type: application/json&amp;#039;   \         --data &amp;#039;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B&lt;br /&gt;
&lt;br /&gt;
# Set your prompt:&lt;br /&gt;
PROMPT=&#039;Hello.&#039;&lt;br /&gt;
&lt;br /&gt;
# Set maximum amount of tokens:&lt;br /&gt;
MAX_TOKENS=100&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/chat/completions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &#039;Content-Type: application/json&#039;   \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;&#039;&amp;quot;$MODEL&amp;quot;&#039;&amp;quot;,&lt;br /&gt;
                &amp;quot;messages&amp;quot;: [&lt;br /&gt;
                        {&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;, &amp;quot;content&amp;quot;: &amp;quot;&#039;&amp;quot;$PROMPT&amp;quot;&#039;&amp;quot;}&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;max_tokens&amp;quot;: &#039;&amp;quot;$MAX_TOKENS&amp;quot;&#039;&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;chatcmpl-af98aba2443fdd6f&amp;quot;,&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;chat.completion&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: 1778156848,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B&amp;quot;,&lt;br /&gt;
  &amp;quot;choices&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;message&amp;quot;: {&lt;br /&gt;
        &amp;quot;role&amp;quot;: &amp;quot;assistant&amp;quot;,&lt;br /&gt;
        &amp;quot;content&amp;quot;: &amp;quot;\n\nHello! How can I assist you today?&amp;quot;,&lt;br /&gt;
        &amp;quot;refusal&amp;quot;: null,&lt;br /&gt;
        &amp;quot;annotations&amp;quot;: null,&lt;br /&gt;
        &amp;quot;audio&amp;quot;: null,&lt;br /&gt;
        &amp;quot;function_call&amp;quot;: null,&lt;br /&gt;
        &amp;quot;tool_calls&amp;quot;: [],&lt;br /&gt;
        &amp;quot;reasoning&amp;quot;: &amp;quot;We need to respond with a friendly greeting. No special instructions.\n\n&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;logprobs&amp;quot;: null,&lt;br /&gt;
      &amp;quot;finish_reason&amp;quot;: &amp;quot;stop&amp;quot;,&lt;br /&gt;
      &amp;quot;stop_reason&amp;quot;: null,&lt;br /&gt;
      &amp;quot;token_ids&amp;quot;: null&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;service_tier&amp;quot;: null,&lt;br /&gt;
  &amp;quot;system_fingerprint&amp;quot;: null,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 18,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 43,&lt;br /&gt;
    &amp;quot;completion_tokens&amp;quot;: 25,&lt;br /&gt;
    &amp;quot;prompt_tokens_details&amp;quot;: null&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;prompt_logprobs&amp;quot;: null,&lt;br /&gt;
  &amp;quot;prompt_token_ids&amp;quot;: null,&lt;br /&gt;
  &amp;quot;kv_transfer_params&amp;quot;: null&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_Qwen/Qwen3.5-35B-A3B-FP8&amp;diff=1037</id>
		<title>AI on demand: Qwen/Qwen3.5-35B-A3B-FP8</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_Qwen/Qwen3.5-35B-A3B-FP8&amp;diff=1037"/>
		<updated>2026-05-07T12:26:27Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: Created page with &amp;quot;== Calling the model == &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; # Set your personal key: STONEY_KEY=sk-...  # Set the desired model: MODEL=Qwen/Qwen3.5-35B-A3B-FP8  # Set your prompt: PROMPT=&amp;#039;Hello.&amp;#039;  # Set maximum amount of tokens: MAX_TOKENS=100  curl https://llm.stoney-cloud.com/v1/chat/completions \         --silent --fail --show-error \         --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \         --header &amp;#039;Content-Type: application/json&amp;#039;   \         --data &amp;#039;{...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=Qwen/Qwen3.5-35B-A3B-FP8&lt;br /&gt;
&lt;br /&gt;
# Set your prompt:&lt;br /&gt;
PROMPT=&#039;Hello.&#039;&lt;br /&gt;
&lt;br /&gt;
# Set maximum amount of tokens:&lt;br /&gt;
MAX_TOKENS=100&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/chat/completions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &#039;Content-Type: application/json&#039;   \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;&#039;&amp;quot;$MODEL&amp;quot;&#039;&amp;quot;,&lt;br /&gt;
                &amp;quot;messages&amp;quot;: [&lt;br /&gt;
                        {&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;, &amp;quot;content&amp;quot;: &amp;quot;&#039;&amp;quot;$PROMPT&amp;quot;&#039;&amp;quot;}&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;max_tokens&amp;quot;: &#039;&amp;quot;$MAX_TOKENS&amp;quot;&#039;&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;chatcmpl-a8634d242bc04923&amp;quot;,&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;chat.completion&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: 1778156754,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;Qwen/Qwen3.5-35B-A3B-FP8&amp;quot;,&lt;br /&gt;
  &amp;quot;choices&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;message&amp;quot;: {&lt;br /&gt;
        &amp;quot;role&amp;quot;: &amp;quot;assistant&amp;quot;,&lt;br /&gt;
        &amp;quot;content&amp;quot;: &amp;quot;Thinking Process:\n\n1.  **Analyze the Input:**\n    *   Input: \&amp;quot;Hello.\&amp;quot;\n    *   Context: This is a greeting.\n    * Intent: The user is initiating a conversation.\n    * Tone: Friendly, polite, neutral.\n\n2.  **Determine the Appropriate Response:**\n    *   Acknowledge the greeting.\n    Offer assistance.\n Keep it friendly and open-ended.\n\n3.  **Drafting Options:**\n&amp;quot;,&lt;br /&gt;
        &amp;quot;refusal&amp;quot;: null,&lt;br /&gt;
        &amp;quot;annotations&amp;quot;: null,&lt;br /&gt;
        &amp;quot;audio&amp;quot;: null,&lt;br /&gt;
        &amp;quot;function_call&amp;quot;: null,&lt;br /&gt;
        &amp;quot;tool_calls&amp;quot;: [],&lt;br /&gt;
        &amp;quot;reasoning&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;logprobs&amp;quot;: null,&lt;br /&gt;
      &amp;quot;finish_reason&amp;quot;: &amp;quot;length&amp;quot;,&lt;br /&gt;
      &amp;quot;stop_reason&amp;quot;: null,&lt;br /&gt;
      &amp;quot;token_ids&amp;quot;: null&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;service_tier&amp;quot;: null,&lt;br /&gt;
  &amp;quot;system_fingerprint&amp;quot;: null,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 12,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 112,&lt;br /&gt;
    &amp;quot;completion_tokens&amp;quot;: 100,&lt;br /&gt;
    &amp;quot;prompt_tokens_details&amp;quot;: null&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;prompt_logprobs&amp;quot;: null,&lt;br /&gt;
  &amp;quot;prompt_token_ids&amp;quot;: null,&lt;br /&gt;
  &amp;quot;kv_transfer_params&amp;quot;: null&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_Qwen/Qwen3-Coder-Next&amp;diff=1036</id>
		<title>AI on demand: Qwen/Qwen3-Coder-Next</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_Qwen/Qwen3-Coder-Next&amp;diff=1036"/>
		<updated>2026-05-07T12:24:08Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: Created page with &amp;quot;== Calling the model == &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; # Set your personal key: STONEY_KEY=sk-...  # Set the desired model: MODEL=Qwen/Qwen3-Coder-Next  # Set your prompt: PROMPT=&amp;#039;Hello.&amp;#039;  # Set maximum amount of tokens: MAX_TOKENS=100  curl https://llm.stoney-cloud.com/v1/chat/completions \         --silent --fail --show-error \         --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \         --header &amp;#039;Content-Type: application/json&amp;#039;   \         --data &amp;#039;{                 &amp;quot;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=Qwen/Qwen3-Coder-Next&lt;br /&gt;
&lt;br /&gt;
# Set your prompt:&lt;br /&gt;
PROMPT=&#039;Hello.&#039;&lt;br /&gt;
&lt;br /&gt;
# Set maximum amount of tokens:&lt;br /&gt;
MAX_TOKENS=100&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/chat/completions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &#039;Content-Type: application/json&#039;   \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;&#039;&amp;quot;$MODEL&amp;quot;&#039;&amp;quot;,&lt;br /&gt;
                &amp;quot;messages&amp;quot;: [&lt;br /&gt;
                        {&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;, &amp;quot;content&amp;quot;: &amp;quot;&#039;&amp;quot;$PROMPT&amp;quot;&#039;&amp;quot;}&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;max_tokens&amp;quot;: &#039;&amp;quot;$MAX_TOKENS&amp;quot;&#039;&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;chatcmpl-bb307cafee7eb3bd&amp;quot;,&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;chat.completion&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: 1778156615,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;Qwen/Qwen3-Coder-Next&amp;quot;,&lt;br /&gt;
  &amp;quot;choices&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;message&amp;quot;: {&lt;br /&gt;
        &amp;quot;role&amp;quot;: &amp;quot;assistant&amp;quot;,&lt;br /&gt;
        &amp;quot;content&amp;quot;: &amp;quot;Hi there! How can I help you today? 😊&amp;quot;,&lt;br /&gt;
        &amp;quot;refusal&amp;quot;: null,&lt;br /&gt;
        &amp;quot;annotations&amp;quot;: null,&lt;br /&gt;
        &amp;quot;audio&amp;quot;: null,&lt;br /&gt;
        &amp;quot;function_call&amp;quot;: null,&lt;br /&gt;
        &amp;quot;tool_calls&amp;quot;: [],&lt;br /&gt;
        &amp;quot;reasoning&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;logprobs&amp;quot;: null,&lt;br /&gt;
      &amp;quot;finish_reason&amp;quot;: &amp;quot;stop&amp;quot;,&lt;br /&gt;
      &amp;quot;stop_reason&amp;quot;: null,&lt;br /&gt;
      &amp;quot;token_ids&amp;quot;: null&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;service_tier&amp;quot;: null,&lt;br /&gt;
  &amp;quot;system_fingerprint&amp;quot;: null,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 10,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 23,&lt;br /&gt;
    &amp;quot;completion_tokens&amp;quot;: 13,&lt;br /&gt;
    &amp;quot;prompt_tokens_details&amp;quot;: null&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;prompt_logprobs&amp;quot;: null,&lt;br /&gt;
  &amp;quot;prompt_token_ids&amp;quot;: null,&lt;br /&gt;
  &amp;quot;kv_transfer_params&amp;quot;: null&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1035</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1035"/>
		<updated>2026-05-07T12:22:27Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:left; width:48%;&amp;quot;&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Welcome to the wiki of our [https://www.openstack.org/ OpenStack] based [https://www.stoney-cloud.com/ stoney cloud] infrastructure.&lt;br /&gt;
This collection serves as a comprehensive resource for all aspects of our cloud environment. Here, you will find guides for managing and utilizing our stoney cloud.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
[[Quickstart]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width:48%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Projects|Projects]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Instances|Instances]]&lt;br /&gt;
* [[VM creation (Linux)]]&lt;br /&gt;
* [[VM creation (Windows)]]&lt;br /&gt;
* [[VM resize (Linux)]]&lt;br /&gt;
* [[VM resize (Windows)]]&lt;br /&gt;
* [[Flavor explanation]]&lt;br /&gt;
[[:Category:Volumes|Volumes]]&lt;br /&gt;
* [[Quota]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Images|Images]]&lt;br /&gt;
* [[Image creation]]&lt;br /&gt;
[[:Category:Network|Network]]&lt;br /&gt;
* [[Security group rules]]&lt;br /&gt;
* [[IP usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Object store|Object store]]&lt;br /&gt;
* [[S3 buckets]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Kubernetes|Kubernetes]]&lt;br /&gt;
* [[Kubernetes management]]&lt;br /&gt;
* [[Kubernetes usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:AI on demand|AI on demand]]&lt;br /&gt;
* [[AI on demand: Usage]] (list models, show usage, ...)&lt;br /&gt;
* &amp;lt;s&amp;gt;[[AI on demand: swiss-ai/Apertus-70B-Instruct-2509]]&amp;lt;/s&amp;gt; (discontinued)&lt;br /&gt;
* [[AI on demand: opendatalab/MinerU2.5-2509-1.2B]]&lt;br /&gt;
* [[AI on demand: MiniMaxAI/MiniMax-M2.5]]&lt;br /&gt;
* [[AI on demand: mistralai/Voxtral-Mini-3B-2507]]&lt;br /&gt;
* [[AI on demand: BAAI/bge-reranker-v2-m3]]&lt;br /&gt;
* [[AI on demand: BAAI/bge-m3]]&lt;br /&gt;
* [[AI on demand: Qwen/Qwen3-Coder-Next]]&lt;br /&gt;
* [[AI on demand: Qwen/Qwen3.5-35B-A3B-FP8]]&lt;br /&gt;
* [[AI on demand: NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B]]&lt;br /&gt;
* [[AI on demand: allenai/olmOCR-2-7B]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[PCI workaround]]&lt;br /&gt;
* [[Change user password]]&lt;br /&gt;
&lt;br /&gt;
== Quick links ==&lt;br /&gt;
* [https://www.stoney-cloud.com/ stoney cloud Website]&lt;br /&gt;
* [https://dashboard.stoney-cloud.com/ stoney cloud Dashboard]&lt;br /&gt;
* [https://docs.openstack.org/horizon/latest/user/index.html Official OpenStack Dashboard Documentation]&lt;br /&gt;
* [https://docs.openstack.org/python-openstackclient/latest/cli/index.html Official OpenStack CLI Documentation]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; height:0px; line-height:0px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_Usage&amp;diff=1034</id>
		<title>AI on demand: Usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_Usage&amp;diff=1034"/>
		<updated>2026-05-07T12:20:19Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Usage - List all models - Embeddings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This pages describes some useful usage commands.&lt;br /&gt;
&lt;br /&gt;
= Usage =&lt;br /&gt;
We assume you&#039;ve received your API key from us in our usual manner.&lt;br /&gt;
&lt;br /&gt;
== Usage - List all models ==&lt;br /&gt;
=== Usage - List all models - Generic ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all generic models:&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/models \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;json&#039;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;allenai/olmOCR-2-7B&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 8192,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;MinerU2.5-2509-1.2B&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 16384,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;MiniMaxAI/MiniMax-M2.5&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 196608,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 131072,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;Qwen/Qwen3.5-35B-A3B-FP8&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 131072,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;Qwen/Qwen3-Coder-Next&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 262144,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage - List all models - Audio ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all audio models:&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/audio/models \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;mistralai/Voxtral-Mini-3B-2507&amp;quot;,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;openai/whisper-large-v3&amp;quot;,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage - List all models - Embeddings ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all embeddings models:&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/embeddings/models \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;BAAI/bge-m3&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 8192,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage - List all models - Rerank ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all rerank models:&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/rerank/models \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;BAAI/bge-reranker-v2-m3&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 8192,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usage - Inspecting your usage ==&lt;br /&gt;
We issue one key per model for now. The usage is thus per-model-per-key.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set desired month in the form YYYY-MM, for example: &#039;2026-03&#039;.&lt;br /&gt;
MONTH=$(date +%Y-%m)&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/usage?month=&amp;quot;$MONTH&amp;quot; \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;models&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.000002,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;MinerU2.5-2509-1.2B&amp;quot;,&lt;br /&gt;
      &amp;quot;output&amp;quot;: 16,&lt;br /&gt;
      &amp;quot;input&amp;quot;: 70&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.054537,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;MiniMaxAI/MiniMax-M2.5&amp;quot;,&lt;br /&gt;
      &amp;quot;output&amp;quot;: 3603,&lt;br /&gt;
      &amp;quot;input&amp;quot;: 10097&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.0016,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;mistralai/Voxtral-Mini-3B-2507&amp;quot;,&lt;br /&gt;
      &amp;quot;seconds&amp;quot;: 8&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.003774,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;swiss-ai/Apertus-70B-Instruct-2509&amp;quot;,&lt;br /&gt;
      &amp;quot;output&amp;quot;: 551,&lt;br /&gt;
      &amp;quot;input&amp;quot;: 443&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;month&amp;quot;: &amp;quot;2026-03&amp;quot;,&lt;br /&gt;
  &amp;quot;total_cost_chf&amp;quot;: 0.059913&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_Usage&amp;diff=1033</id>
		<title>AI on demand: Usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_Usage&amp;diff=1033"/>
		<updated>2026-05-07T12:20:07Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Usage - List all models - Rerank */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This pages describes some useful usage commands.&lt;br /&gt;
&lt;br /&gt;
= Usage =&lt;br /&gt;
We assume you&#039;ve received your API key from us in our usual manner.&lt;br /&gt;
&lt;br /&gt;
== Usage - List all models ==&lt;br /&gt;
=== Usage - List all models - Generic ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all generic models:&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/models \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;json&#039;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;allenai/olmOCR-2-7B&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 8192,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;MinerU2.5-2509-1.2B&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 16384,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;MiniMaxAI/MiniMax-M2.5&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 196608,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 131072,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;Qwen/Qwen3.5-35B-A3B-FP8&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 131072,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;Qwen/Qwen3-Coder-Next&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 262144,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage - List all models - Audio ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all audio models:&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/audio/models \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;mistralai/Voxtral-Mini-3B-2507&amp;quot;,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;openai/whisper-large-v3&amp;quot;,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage - List all models - Embeddings ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all audio models:&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/embeddings/models \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;BAAI/bge-m3&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 8192,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage - List all models - Rerank ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all rerank models:&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/rerank/models \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;BAAI/bge-reranker-v2-m3&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 8192,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usage - Inspecting your usage ==&lt;br /&gt;
We issue one key per model for now. The usage is thus per-model-per-key.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set desired month in the form YYYY-MM, for example: &#039;2026-03&#039;.&lt;br /&gt;
MONTH=$(date +%Y-%m)&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/usage?month=&amp;quot;$MONTH&amp;quot; \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;models&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.000002,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;MinerU2.5-2509-1.2B&amp;quot;,&lt;br /&gt;
      &amp;quot;output&amp;quot;: 16,&lt;br /&gt;
      &amp;quot;input&amp;quot;: 70&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.054537,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;MiniMaxAI/MiniMax-M2.5&amp;quot;,&lt;br /&gt;
      &amp;quot;output&amp;quot;: 3603,&lt;br /&gt;
      &amp;quot;input&amp;quot;: 10097&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.0016,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;mistralai/Voxtral-Mini-3B-2507&amp;quot;,&lt;br /&gt;
      &amp;quot;seconds&amp;quot;: 8&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.003774,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;swiss-ai/Apertus-70B-Instruct-2509&amp;quot;,&lt;br /&gt;
      &amp;quot;output&amp;quot;: 551,&lt;br /&gt;
      &amp;quot;input&amp;quot;: 443&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;month&amp;quot;: &amp;quot;2026-03&amp;quot;,&lt;br /&gt;
  &amp;quot;total_cost_chf&amp;quot;: 0.059913&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_Usage&amp;diff=1032</id>
		<title>AI on demand: Usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_Usage&amp;diff=1032"/>
		<updated>2026-05-07T12:19:54Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This pages describes some useful usage commands.&lt;br /&gt;
&lt;br /&gt;
= Usage =&lt;br /&gt;
We assume you&#039;ve received your API key from us in our usual manner.&lt;br /&gt;
&lt;br /&gt;
== Usage - List all models ==&lt;br /&gt;
=== Usage - List all models - Generic ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all generic models:&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/models \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;json&#039;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;allenai/olmOCR-2-7B&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 8192,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;MinerU2.5-2509-1.2B&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 16384,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;MiniMaxAI/MiniMax-M2.5&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 196608,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 131072,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;Qwen/Qwen3.5-35B-A3B-FP8&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 131072,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;Qwen/Qwen3-Coder-Next&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 262144,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage - List all models - Audio ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all audio models:&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/audio/models \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;mistralai/Voxtral-Mini-3B-2507&amp;quot;,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;openai/whisper-large-v3&amp;quot;,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage - List all models - Embeddings ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all audio models:&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/embeddings/models \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;BAAI/bge-m3&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 8192,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage - List all models - Rerank ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all audio models:&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/rerank/models \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;BAAI/bge-reranker-v2-m3&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 8192,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usage - Inspecting your usage ==&lt;br /&gt;
We issue one key per model for now. The usage is thus per-model-per-key.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set desired month in the form YYYY-MM, for example: &#039;2026-03&#039;.&lt;br /&gt;
MONTH=$(date +%Y-%m)&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/usage?month=&amp;quot;$MONTH&amp;quot; \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;models&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.000002,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;MinerU2.5-2509-1.2B&amp;quot;,&lt;br /&gt;
      &amp;quot;output&amp;quot;: 16,&lt;br /&gt;
      &amp;quot;input&amp;quot;: 70&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.054537,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;MiniMaxAI/MiniMax-M2.5&amp;quot;,&lt;br /&gt;
      &amp;quot;output&amp;quot;: 3603,&lt;br /&gt;
      &amp;quot;input&amp;quot;: 10097&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.0016,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;mistralai/Voxtral-Mini-3B-2507&amp;quot;,&lt;br /&gt;
      &amp;quot;seconds&amp;quot;: 8&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.003774,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;swiss-ai/Apertus-70B-Instruct-2509&amp;quot;,&lt;br /&gt;
      &amp;quot;output&amp;quot;: 551,&lt;br /&gt;
      &amp;quot;input&amp;quot;: 443&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;month&amp;quot;: &amp;quot;2026-03&amp;quot;,&lt;br /&gt;
  &amp;quot;total_cost_chf&amp;quot;: 0.059913&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_Usage&amp;diff=1031</id>
		<title>AI on demand: Usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_Usage&amp;diff=1031"/>
		<updated>2026-05-07T12:17:58Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Usage - Inspecting your usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
This pages describes some useful usage commands.&lt;br /&gt;
&lt;br /&gt;
= Usage =&lt;br /&gt;
We assume you&#039;ve received your API key from us in our usual manner.&lt;br /&gt;
&lt;br /&gt;
== Usage - List all models ==&lt;br /&gt;
=== Usage - List all models - Generic ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all generic models:&lt;br /&gt;
curl -s https://llm.stoney-cloud.com/v1/models \&lt;br /&gt;
  -H &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
  | jq .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;json&#039;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;allenai/olmOCR-2-7B&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 8192,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;MinerU2.5-2509-1.2B&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 16384,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;MiniMaxAI/MiniMax-M2.5&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 196608,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;NVIDIA/NVIDIA-Nemotron-3-Super-120B-A12B&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 131072,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;Qwen/Qwen3.5-35B-A3B-FP8&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 131072,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;Qwen/Qwen3-Coder-Next&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 262144,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage - List all models - Audio ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all audio models:&lt;br /&gt;
curl -s https://llm.stoney-cloud.com/v1/audio/models \&lt;br /&gt;
  -H &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
  | jq .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;mistralai/Voxtral-Mini-3B-2507&amp;quot;,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;openai/whisper-large-v3&amp;quot;,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage - List all models - Embeddings ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all audio models:&lt;br /&gt;
curl -s https://llm.stoney-cloud.com/v1/embeddings/models \&lt;br /&gt;
  -H &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
  | jq .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;BAAI/bge-m3&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 8192,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage - List all models - Rerank ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# List all audio models:&lt;br /&gt;
curl -s https://llm.stoney-cloud.com/v1/rerank/models \&lt;br /&gt;
  -H &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
  | jq .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;BAAI/bge-reranker-v2-m3&amp;quot;,&lt;br /&gt;
      &amp;quot;max_model_len&amp;quot;: 8192,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;model&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usage - Inspecting your usage ==&lt;br /&gt;
We issue one key per model for now. The usage is thus per-model-per-key.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set desired month in the form YYYY-MM, for example: &#039;2026-03&#039;.&lt;br /&gt;
MONTH=$(date +%Y-%m)&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/usage?month=&amp;quot;$MONTH&amp;quot; \&lt;br /&gt;
  --silent --fail --show-error \&lt;br /&gt;
  --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
  | jq .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;models&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.000002,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;MinerU2.5-2509-1.2B&amp;quot;,&lt;br /&gt;
      &amp;quot;output&amp;quot;: 16,&lt;br /&gt;
      &amp;quot;input&amp;quot;: 70&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.054537,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;MiniMaxAI/MiniMax-M2.5&amp;quot;,&lt;br /&gt;
      &amp;quot;output&amp;quot;: 3603,&lt;br /&gt;
      &amp;quot;input&amp;quot;: 10097&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.0016,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;mistralai/Voxtral-Mini-3B-2507&amp;quot;,&lt;br /&gt;
      &amp;quot;seconds&amp;quot;: 8&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;cost_chf&amp;quot;: 0.003774,&lt;br /&gt;
      &amp;quot;model&amp;quot;: &amp;quot;swiss-ai/Apertus-70B-Instruct-2509&amp;quot;,&lt;br /&gt;
      &amp;quot;output&amp;quot;: 551,&lt;br /&gt;
      &amp;quot;input&amp;quot;: 443&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;month&amp;quot;: &amp;quot;2026-03&amp;quot;,&lt;br /&gt;
  &amp;quot;total_cost_chf&amp;quot;: 0.059913&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1030</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1030"/>
		<updated>2026-05-07T12:17:13Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:left; width:48%;&amp;quot;&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Welcome to the wiki of our [https://www.openstack.org/ OpenStack] based [https://www.stoney-cloud.com/ stoney cloud] infrastructure.&lt;br /&gt;
This collection serves as a comprehensive resource for all aspects of our cloud environment. Here, you will find guides for managing and utilizing our stoney cloud.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
[[Quickstart]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width:48%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Projects|Projects]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Instances|Instances]]&lt;br /&gt;
* [[VM creation (Linux)]]&lt;br /&gt;
* [[VM creation (Windows)]]&lt;br /&gt;
* [[VM resize (Linux)]]&lt;br /&gt;
* [[VM resize (Windows)]]&lt;br /&gt;
* [[Flavor explanation]]&lt;br /&gt;
[[:Category:Volumes|Volumes]]&lt;br /&gt;
* [[Quota]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Images|Images]]&lt;br /&gt;
* [[Image creation]]&lt;br /&gt;
[[:Category:Network|Network]]&lt;br /&gt;
* [[Security group rules]]&lt;br /&gt;
* [[IP usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Object store|Object store]]&lt;br /&gt;
* [[S3 buckets]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Kubernetes|Kubernetes]]&lt;br /&gt;
* [[Kubernetes management]]&lt;br /&gt;
* [[Kubernetes usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:AI on demand|AI on demand]]&lt;br /&gt;
* [[AI on demand: Usage]] (list models, show usage, ...)&lt;br /&gt;
* &amp;lt;s&amp;gt;[[AI on demand: swiss-ai/Apertus-70B-Instruct-2509]]&amp;lt;/s&amp;gt; (discontinued)&lt;br /&gt;
* [[AI on demand: opendatalab/MinerU2.5-2509-1.2B]]&lt;br /&gt;
* [[AI on demand: MiniMaxAI/MiniMax-M2.5]]&lt;br /&gt;
* [[AI on demand: mistralai/Voxtral-Mini-3B-2507]]&lt;br /&gt;
* [[AI on demand: BAAI/bge-reranker-v2-m3]]&lt;br /&gt;
* [[AI on demand: BAAI/bge-m3]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[PCI workaround]]&lt;br /&gt;
* [[Change user password]]&lt;br /&gt;
&lt;br /&gt;
== Quick links ==&lt;br /&gt;
* [https://www.stoney-cloud.com/ stoney cloud Website]&lt;br /&gt;
* [https://dashboard.stoney-cloud.com/ stoney cloud Dashboard]&lt;br /&gt;
* [https://docs.openstack.org/horizon/latest/user/index.html Official OpenStack Dashboard Documentation]&lt;br /&gt;
* [https://docs.openstack.org/python-openstackclient/latest/cli/index.html Official OpenStack CLI Documentation]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; height:0px; line-height:0px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_swiss-ai/Apertus-70B-Instruct-2509&amp;diff=1028</id>
		<title>AI on demand: swiss-ai/Apertus-70B-Instruct-2509</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_swiss-ai/Apertus-70B-Instruct-2509&amp;diff=1028"/>
		<updated>2026-05-07T12:16:19Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: Sst-yde moved page AI on demand: Apertus to AI on demand: swiss-ai/Apertus-70B-Instruct-2509&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=swiss-ai/Apertus-70B-Instruct-2509&lt;br /&gt;
&lt;br /&gt;
# Set your prompt:&lt;br /&gt;
PROMPT=&#039;Say hello&#039;&lt;br /&gt;
&lt;br /&gt;
# Set maximum amount of tokens:&lt;br /&gt;
MAX_TOKENS=100&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/chat/completions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &amp;quot;Content-Type: application/json&amp;quot;   \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;&#039;&amp;quot;$MODEL&amp;quot;&#039;&amp;quot;,&lt;br /&gt;
                &amp;quot;messages&amp;quot;: [&lt;br /&gt;
                        {&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;, &amp;quot;content&amp;quot;: &amp;quot;&#039;&amp;quot;$PROMPT&amp;quot;&#039;&amp;quot;}&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;max_tokens&amp;quot;: &#039;&amp;quot;$MAX_TOKENS&amp;quot;&#039;&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;chatcmpl-936c65ace55c4524&amp;quot;,&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;chat.completion&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: 1774862931,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;swiss-ai/Apertus-70B-Instruct-2509&amp;quot;,&lt;br /&gt;
  &amp;quot;choices&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;message&amp;quot;: {&lt;br /&gt;
        &amp;quot;role&amp;quot;: &amp;quot;assistant&amp;quot;,&lt;br /&gt;
        &amp;quot;content&amp;quot;: &amp;quot;Hello! It&#039;s nice to meet you. As Apertus, I&#039;m here to provide assistance, answer your questions, and help make your day a bit better. How may I assist you today?&amp;quot;,&lt;br /&gt;
        &amp;quot;refusal&amp;quot;: null,&lt;br /&gt;
        &amp;quot;annotations&amp;quot;: null,&lt;br /&gt;
        &amp;quot;audio&amp;quot;: null,&lt;br /&gt;
        &amp;quot;function_call&amp;quot;: null,&lt;br /&gt;
        &amp;quot;tool_calls&amp;quot;: [],&lt;br /&gt;
        &amp;quot;reasoning&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;logprobs&amp;quot;: null,&lt;br /&gt;
      &amp;quot;finish_reason&amp;quot;: &amp;quot;stop&amp;quot;,&lt;br /&gt;
      &amp;quot;stop_reason&amp;quot;: null,&lt;br /&gt;
      &amp;quot;token_ids&amp;quot;: null&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;service_tier&amp;quot;: null,&lt;br /&gt;
  &amp;quot;system_fingerprint&amp;quot;: null,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 63,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 104,&lt;br /&gt;
    &amp;quot;completion_tokens&amp;quot;: 41,&lt;br /&gt;
    &amp;quot;prompt_tokens_details&amp;quot;: null&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;prompt_logprobs&amp;quot;: null,&lt;br /&gt;
  &amp;quot;prompt_token_ids&amp;quot;: null,&lt;br /&gt;
  &amp;quot;kv_transfer_params&amp;quot;: null&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1027</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1027"/>
		<updated>2026-05-07T12:15:23Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:left; width:48%;&amp;quot;&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Welcome to the wiki of our [https://www.openstack.org/ OpenStack] based [https://www.stoney-cloud.com/ stoney cloud] infrastructure.&lt;br /&gt;
This collection serves as a comprehensive resource for all aspects of our cloud environment. Here, you will find guides for managing and utilizing our stoney cloud.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
[[Quickstart]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width:48%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Projects|Projects]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Instances|Instances]]&lt;br /&gt;
* [[VM creation (Linux)]]&lt;br /&gt;
* [[VM creation (Windows)]]&lt;br /&gt;
* [[VM resize (Linux)]]&lt;br /&gt;
* [[VM resize (Windows)]]&lt;br /&gt;
* [[Flavor explanation]]&lt;br /&gt;
[[:Category:Volumes|Volumes]]&lt;br /&gt;
* [[Quota]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Images|Images]]&lt;br /&gt;
* [[Image creation]]&lt;br /&gt;
[[:Category:Network|Network]]&lt;br /&gt;
* [[Security group rules]]&lt;br /&gt;
* [[IP usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Object store|Object store]]&lt;br /&gt;
* [[S3 buckets]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Kubernetes|Kubernetes]]&lt;br /&gt;
* [[Kubernetes management]]&lt;br /&gt;
* [[Kubernetes usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:AI on demand|AI on demand]]&lt;br /&gt;
* [[AI on demand: Usage]] (list models, show usage, ...)&lt;br /&gt;
* [[AI on demand: Apertus]]&lt;br /&gt;
* [[AI on demand: opendatalab/MinerU2.5-2509-1.2B]]&lt;br /&gt;
* [[AI on demand: MiniMaxAI/MiniMax-M2.5]]&lt;br /&gt;
* [[AI on demand: mistralai/Voxtral-Mini-3B-2507]]&lt;br /&gt;
* [[AI on demand: BAAI/bge-reranker-v2-m3]]&lt;br /&gt;
* [[AI on demand: BAAI/bge-m3]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[PCI workaround]]&lt;br /&gt;
* [[Change user password]]&lt;br /&gt;
&lt;br /&gt;
== Quick links ==&lt;br /&gt;
* [https://www.stoney-cloud.com/ stoney cloud Website]&lt;br /&gt;
* [https://dashboard.stoney-cloud.com/ stoney cloud Dashboard]&lt;br /&gt;
* [https://docs.openstack.org/horizon/latest/user/index.html Official OpenStack Dashboard Documentation]&lt;br /&gt;
* [https://docs.openstack.org/python-openstackclient/latest/cli/index.html Official OpenStack CLI Documentation]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; height:0px; line-height:0px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_opendatalab/MinerU2.5-2509-1.2B&amp;diff=1025</id>
		<title>AI on demand: opendatalab/MinerU2.5-2509-1.2B</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_opendatalab/MinerU2.5-2509-1.2B&amp;diff=1025"/>
		<updated>2026-05-07T12:15:07Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: Sst-yde moved page AI on demand: MinerU to AI on demand: opendatalab/MinerU2.5-2509-1.2B&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=MinerU2.5-2509-1.2B&lt;br /&gt;
&lt;br /&gt;
# Set your prompt:&lt;br /&gt;
PROMPT=&#039;Describe an imaginary document.&#039;&lt;br /&gt;
&lt;br /&gt;
# Set maximum amount of tokens:&lt;br /&gt;
MAX_TOKENS=2000&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/chat/completions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &#039;Content-Type: application/json&#039; \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;&#039;&amp;quot;$MODEL&amp;quot;&#039;&amp;quot;,&lt;br /&gt;
                &amp;quot;messages&amp;quot;: [&lt;br /&gt;
                        {&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;, &amp;quot;content&amp;quot;: &amp;quot;&#039;&amp;quot;$PROMPT&amp;quot;&#039;&amp;quot;}&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;max_tokens&amp;quot;: &#039;&amp;quot;$MAX_TOKENS&amp;quot;&#039;&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;chatcmpl-8e804087bd0f6e64&amp;quot;,&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;chat.completion&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: 1774862972,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;MinerU2.5-2509-1.2B&amp;quot;,&lt;br /&gt;
  &amp;quot;choices&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;message&amp;quot;: {&lt;br /&gt;
        &amp;quot;role&amp;quot;: &amp;quot;assistant&amp;quot;,&lt;br /&gt;
        &amp;quot;content&amp;quot;: &amp;quot;Describe an imaginary document.&amp;quot;,&lt;br /&gt;
        &amp;quot;refusal&amp;quot;: null,&lt;br /&gt;
        &amp;quot;annotations&amp;quot;: null,&lt;br /&gt;
        &amp;quot;audio&amp;quot;: null,&lt;br /&gt;
        &amp;quot;function_call&amp;quot;: null,&lt;br /&gt;
        &amp;quot;tool_calls&amp;quot;: [],&lt;br /&gt;
        &amp;quot;reasoning&amp;quot;: null,&lt;br /&gt;
        &amp;quot;reasoning_content&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;logprobs&amp;quot;: null,&lt;br /&gt;
      &amp;quot;finish_reason&amp;quot;: &amp;quot;stop&amp;quot;,&lt;br /&gt;
      &amp;quot;stop_reason&amp;quot;: null,&lt;br /&gt;
      &amp;quot;token_ids&amp;quot;: null&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;service_tier&amp;quot;: null,&lt;br /&gt;
  &amp;quot;system_fingerprint&amp;quot;: null,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 24,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 30,&lt;br /&gt;
    &amp;quot;completion_tokens&amp;quot;: 6,&lt;br /&gt;
    &amp;quot;prompt_tokens_details&amp;quot;: null&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;prompt_logprobs&amp;quot;: null,&lt;br /&gt;
  &amp;quot;prompt_token_ids&amp;quot;: null,&lt;br /&gt;
  &amp;quot;kv_transfer_params&amp;quot;: null&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_MiniMaxAI/MiniMax-M2.5&amp;diff=1023</id>
		<title>AI on demand: MiniMaxAI/MiniMax-M2.5</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_MiniMaxAI/MiniMax-M2.5&amp;diff=1023"/>
		<updated>2026-05-07T11:52:47Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: Sst-yde moved page AI on demand: MiniMax to AI on demand: MiniMaxAI/MiniMax-M2.5&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=MiniMaxAI/MiniMax-M2.5&lt;br /&gt;
&lt;br /&gt;
# Set your prompt:&lt;br /&gt;
PROMPT=&#039;Hello.&#039;&lt;br /&gt;
&lt;br /&gt;
# Set maximum amount of tokens:&lt;br /&gt;
MAX_TOKENS=100&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/chat/completions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &#039;Content-Type: application/json&#039;   \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;&#039;&amp;quot;$MODEL&amp;quot;&#039;&amp;quot;,&lt;br /&gt;
                &amp;quot;messages&amp;quot;: [&lt;br /&gt;
                        {&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;, &amp;quot;content&amp;quot;: &amp;quot;&#039;&amp;quot;$PROMPT&amp;quot;&#039;&amp;quot;}&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;max_tokens&amp;quot;: &#039;&amp;quot;$MAX_TOKENS&amp;quot;&#039;&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;chatcmpl-9f55d44ee87ed4e7&amp;quot;,&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;chat.completion&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: 1775141698,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;MiniMaxAI/MiniMax-M2.5&amp;quot;,&lt;br /&gt;
  &amp;quot;choices&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;message&amp;quot;: {&lt;br /&gt;
        &amp;quot;role&amp;quot;: &amp;quot;assistant&amp;quot;,&lt;br /&gt;
        &amp;quot;content&amp;quot;: &amp;quot;&amp;lt;think&amp;gt;The user has simply greeted me with \&amp;quot;Hello.\&amp;quot; This is a simple greeting, so I should respond in a friendly and welcoming manner.\n&amp;lt;/think&amp;gt;\n\nHello! How can I help you today?&amp;quot;,&lt;br /&gt;
        &amp;quot;refusal&amp;quot;: null,&lt;br /&gt;
        &amp;quot;annotations&amp;quot;: null,&lt;br /&gt;
        &amp;quot;audio&amp;quot;: null,&lt;br /&gt;
        &amp;quot;function_call&amp;quot;: null,&lt;br /&gt;
        &amp;quot;tool_calls&amp;quot;: [],&lt;br /&gt;
        &amp;quot;reasoning&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;logprobs&amp;quot;: null,&lt;br /&gt;
      &amp;quot;finish_reason&amp;quot;: &amp;quot;stop&amp;quot;,&lt;br /&gt;
      &amp;quot;stop_reason&amp;quot;: null,&lt;br /&gt;
      &amp;quot;token_ids&amp;quot;: null&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;service_tier&amp;quot;: null,&lt;br /&gt;
  &amp;quot;system_fingerprint&amp;quot;: null,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 41,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 80,&lt;br /&gt;
    &amp;quot;completion_tokens&amp;quot;: 39,&lt;br /&gt;
    &amp;quot;prompt_tokens_details&amp;quot;: null&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;prompt_logprobs&amp;quot;: null,&lt;br /&gt;
  &amp;quot;prompt_token_ids&amp;quot;: null,&lt;br /&gt;
  &amp;quot;kv_transfer_params&amp;quot;: null&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1022</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=Main_Page&amp;diff=1022"/>
		<updated>2026-05-07T11:52:26Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:left; width:48%;&amp;quot;&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Welcome to the wiki of our [https://www.openstack.org/ OpenStack] based [https://www.stoney-cloud.com/ stoney cloud] infrastructure.&lt;br /&gt;
This collection serves as a comprehensive resource for all aspects of our cloud environment. Here, you will find guides for managing and utilizing our stoney cloud.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
[[Quickstart]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width:48%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Projects|Projects]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Instances|Instances]]&lt;br /&gt;
* [[VM creation (Linux)]]&lt;br /&gt;
* [[VM creation (Windows)]]&lt;br /&gt;
* [[VM resize (Linux)]]&lt;br /&gt;
* [[VM resize (Windows)]]&lt;br /&gt;
* [[Flavor explanation]]&lt;br /&gt;
[[:Category:Volumes|Volumes]]&lt;br /&gt;
* [[Quota]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Images|Images]]&lt;br /&gt;
* [[Image creation]]&lt;br /&gt;
[[:Category:Network|Network]]&lt;br /&gt;
* [[Security group rules]]&lt;br /&gt;
* [[IP usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Object store|Object store]]&lt;br /&gt;
* [[S3 buckets]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Kubernetes|Kubernetes]]&lt;br /&gt;
* [[Kubernetes management]]&lt;br /&gt;
* [[Kubernetes usage]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:AI on demand|AI on demand]]&lt;br /&gt;
* [[AI on demand: Usage]] (list models, show usage, ...)&lt;br /&gt;
* [[AI on demand: Apertus]]&lt;br /&gt;
* [[AI on demand: MinerU]]&lt;br /&gt;
* [[AI on demand: MiniMaxAI/MiniMax-M2.5]]&lt;br /&gt;
* [[AI on demand: mistralai/Voxtral-Mini-3B-2507]]&lt;br /&gt;
* [[AI on demand: BAAI/bge-reranker-v2-m3]]&lt;br /&gt;
* [[AI on demand: BAAI/bge-m3]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[PCI workaround]]&lt;br /&gt;
* [[Change user password]]&lt;br /&gt;
&lt;br /&gt;
== Quick links ==&lt;br /&gt;
* [https://www.stoney-cloud.com/ stoney cloud Website]&lt;br /&gt;
* [https://dashboard.stoney-cloud.com/ stoney cloud Dashboard]&lt;br /&gt;
* [https://docs.openstack.org/horizon/latest/user/index.html Official OpenStack Dashboard Documentation]&lt;br /&gt;
* [https://docs.openstack.org/python-openstackclient/latest/cli/index.html Official OpenStack CLI Documentation]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; height:0px; line-height:0px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_mistralai/Voxtral-Mini-3B-2507&amp;diff=1020</id>
		<title>AI on demand: mistralai/Voxtral-Mini-3B-2507</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_mistralai/Voxtral-Mini-3B-2507&amp;diff=1020"/>
		<updated>2026-05-07T11:51:03Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: Sst-yde moved page AI on demand: Voxtral to AI on demand: mistralai/Voxtral-Mini-3B-2507&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=mistralai/Voxtral-Mini-3B-2507&lt;br /&gt;
&lt;br /&gt;
# Path to the audio file to transcribe:&lt;br /&gt;
AUDIO_FILE=your-audio-file.wav&lt;br /&gt;
&lt;br /&gt;
curl -s https://llm.stoney-cloud.com/v1/audio/transcriptions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --form &amp;quot;file=@$AUDIO_FILE&amp;quot; \&lt;br /&gt;
        --form &amp;quot;model=$MODEL&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;text&amp;quot;: &amp;quot;Hello and welcome to the Stepping Stone LLM Gateway.&amp;quot;,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;duration&amp;quot;,&lt;br /&gt;
    &amp;quot;seconds&amp;quot;: 4&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The maximum request body size is currently 50 MiB, which limits the size of the audio file.&lt;br /&gt;
&lt;br /&gt;
The following audio formats/containers/codecs are supported: aiff, au, avr, caf, flac, htk, ircam, mat4, mat5, mp3, mpc2k, nist, ogg, paf, pvf, raw, rf64, sd2, sds, svx, voc, w64, wav, wavex, wve, xi&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_mistralai/Voxtral-Mini-3B-2507&amp;diff=1019</id>
		<title>AI on demand: mistralai/Voxtral-Mini-3B-2507</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_mistralai/Voxtral-Mini-3B-2507&amp;diff=1019"/>
		<updated>2026-05-07T09:55:03Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=mistralai/Voxtral-Mini-3B-2507&lt;br /&gt;
&lt;br /&gt;
# Path to the audio file to transcribe:&lt;br /&gt;
AUDIO_FILE=your-audio-file.wav&lt;br /&gt;
&lt;br /&gt;
curl -s https://llm.stoney-cloud.com/v1/audio/transcriptions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --form &amp;quot;file=@$AUDIO_FILE&amp;quot; \&lt;br /&gt;
        --form &amp;quot;model=$MODEL&amp;quot; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;text&amp;quot;: &amp;quot;Hello and welcome to the Stepping Stone LLM Gateway.&amp;quot;,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;duration&amp;quot;,&lt;br /&gt;
    &amp;quot;seconds&amp;quot;: 4&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The maximum request body size is currently 50 MiB, which limits the size of the audio file.&lt;br /&gt;
&lt;br /&gt;
The following audio formats/containers/codecs are supported: aiff, au, avr, caf, flac, htk, ircam, mat4, mat5, mp3, mpc2k, nist, ogg, paf, pvf, raw, rf64, sd2, sds, svx, voc, w64, wav, wavex, wve, xi&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_MiniMaxAI/MiniMax-M2.5&amp;diff=1018</id>
		<title>AI on demand: MiniMaxAI/MiniMax-M2.5</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_MiniMaxAI/MiniMax-M2.5&amp;diff=1018"/>
		<updated>2026-05-07T09:53:44Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=MiniMaxAI/MiniMax-M2.5&lt;br /&gt;
&lt;br /&gt;
# Set your prompt:&lt;br /&gt;
PROMPT=&#039;Hello.&#039;&lt;br /&gt;
&lt;br /&gt;
# Set maximum amount of tokens:&lt;br /&gt;
MAX_TOKENS=100&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/chat/completions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &#039;Content-Type: application/json&#039;   \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;&#039;&amp;quot;$MODEL&amp;quot;&#039;&amp;quot;,&lt;br /&gt;
                &amp;quot;messages&amp;quot;: [&lt;br /&gt;
                        {&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;, &amp;quot;content&amp;quot;: &amp;quot;&#039;&amp;quot;$PROMPT&amp;quot;&#039;&amp;quot;}&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;max_tokens&amp;quot;: &#039;&amp;quot;$MAX_TOKENS&amp;quot;&#039;&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;chatcmpl-9f55d44ee87ed4e7&amp;quot;,&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;chat.completion&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: 1775141698,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;MiniMaxAI/MiniMax-M2.5&amp;quot;,&lt;br /&gt;
  &amp;quot;choices&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;message&amp;quot;: {&lt;br /&gt;
        &amp;quot;role&amp;quot;: &amp;quot;assistant&amp;quot;,&lt;br /&gt;
        &amp;quot;content&amp;quot;: &amp;quot;&amp;lt;think&amp;gt;The user has simply greeted me with \&amp;quot;Hello.\&amp;quot; This is a simple greeting, so I should respond in a friendly and welcoming manner.\n&amp;lt;/think&amp;gt;\n\nHello! How can I help you today?&amp;quot;,&lt;br /&gt;
        &amp;quot;refusal&amp;quot;: null,&lt;br /&gt;
        &amp;quot;annotations&amp;quot;: null,&lt;br /&gt;
        &amp;quot;audio&amp;quot;: null,&lt;br /&gt;
        &amp;quot;function_call&amp;quot;: null,&lt;br /&gt;
        &amp;quot;tool_calls&amp;quot;: [],&lt;br /&gt;
        &amp;quot;reasoning&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;logprobs&amp;quot;: null,&lt;br /&gt;
      &amp;quot;finish_reason&amp;quot;: &amp;quot;stop&amp;quot;,&lt;br /&gt;
      &amp;quot;stop_reason&amp;quot;: null,&lt;br /&gt;
      &amp;quot;token_ids&amp;quot;: null&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;service_tier&amp;quot;: null,&lt;br /&gt;
  &amp;quot;system_fingerprint&amp;quot;: null,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 41,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 80,&lt;br /&gt;
    &amp;quot;completion_tokens&amp;quot;: 39,&lt;br /&gt;
    &amp;quot;prompt_tokens_details&amp;quot;: null&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;prompt_logprobs&amp;quot;: null,&lt;br /&gt;
  &amp;quot;prompt_token_ids&amp;quot;: null,&lt;br /&gt;
  &amp;quot;kv_transfer_params&amp;quot;: null&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_opendatalab/MinerU2.5-2509-1.2B&amp;diff=1017</id>
		<title>AI on demand: opendatalab/MinerU2.5-2509-1.2B</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_opendatalab/MinerU2.5-2509-1.2B&amp;diff=1017"/>
		<updated>2026-05-07T09:52:32Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=MinerU2.5-2509-1.2B&lt;br /&gt;
&lt;br /&gt;
# Set your prompt:&lt;br /&gt;
PROMPT=&#039;Describe an imaginary document.&#039;&lt;br /&gt;
&lt;br /&gt;
# Set maximum amount of tokens:&lt;br /&gt;
MAX_TOKENS=2000&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/chat/completions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &#039;Content-Type: application/json&#039; \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;&#039;&amp;quot;$MODEL&amp;quot;&#039;&amp;quot;,&lt;br /&gt;
                &amp;quot;messages&amp;quot;: [&lt;br /&gt;
                        {&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;, &amp;quot;content&amp;quot;: &amp;quot;&#039;&amp;quot;$PROMPT&amp;quot;&#039;&amp;quot;}&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;max_tokens&amp;quot;: &#039;&amp;quot;$MAX_TOKENS&amp;quot;&#039;&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;chatcmpl-8e804087bd0f6e64&amp;quot;,&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;chat.completion&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: 1774862972,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;MinerU2.5-2509-1.2B&amp;quot;,&lt;br /&gt;
  &amp;quot;choices&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;message&amp;quot;: {&lt;br /&gt;
        &amp;quot;role&amp;quot;: &amp;quot;assistant&amp;quot;,&lt;br /&gt;
        &amp;quot;content&amp;quot;: &amp;quot;Describe an imaginary document.&amp;quot;,&lt;br /&gt;
        &amp;quot;refusal&amp;quot;: null,&lt;br /&gt;
        &amp;quot;annotations&amp;quot;: null,&lt;br /&gt;
        &amp;quot;audio&amp;quot;: null,&lt;br /&gt;
        &amp;quot;function_call&amp;quot;: null,&lt;br /&gt;
        &amp;quot;tool_calls&amp;quot;: [],&lt;br /&gt;
        &amp;quot;reasoning&amp;quot;: null,&lt;br /&gt;
        &amp;quot;reasoning_content&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;logprobs&amp;quot;: null,&lt;br /&gt;
      &amp;quot;finish_reason&amp;quot;: &amp;quot;stop&amp;quot;,&lt;br /&gt;
      &amp;quot;stop_reason&amp;quot;: null,&lt;br /&gt;
      &amp;quot;token_ids&amp;quot;: null&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;service_tier&amp;quot;: null,&lt;br /&gt;
  &amp;quot;system_fingerprint&amp;quot;: null,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 24,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 30,&lt;br /&gt;
    &amp;quot;completion_tokens&amp;quot;: 6,&lt;br /&gt;
    &amp;quot;prompt_tokens_details&amp;quot;: null&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;prompt_logprobs&amp;quot;: null,&lt;br /&gt;
  &amp;quot;prompt_token_ids&amp;quot;: null,&lt;br /&gt;
  &amp;quot;kv_transfer_params&amp;quot;: null&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_swiss-ai/Apertus-70B-Instruct-2509&amp;diff=1016</id>
		<title>AI on demand: swiss-ai/Apertus-70B-Instruct-2509</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_swiss-ai/Apertus-70B-Instruct-2509&amp;diff=1016"/>
		<updated>2026-05-07T09:51:29Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=swiss-ai/Apertus-70B-Instruct-2509&lt;br /&gt;
&lt;br /&gt;
# Set your prompt:&lt;br /&gt;
PROMPT=&#039;Say hello&#039;&lt;br /&gt;
&lt;br /&gt;
# Set maximum amount of tokens:&lt;br /&gt;
MAX_TOKENS=100&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/chat/completions \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &amp;quot;Content-Type: application/json&amp;quot;   \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;&#039;&amp;quot;$MODEL&amp;quot;&#039;&amp;quot;,&lt;br /&gt;
                &amp;quot;messages&amp;quot;: [&lt;br /&gt;
                        {&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;, &amp;quot;content&amp;quot;: &amp;quot;&#039;&amp;quot;$PROMPT&amp;quot;&#039;&amp;quot;}&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;max_tokens&amp;quot;: &#039;&amp;quot;$MAX_TOKENS&amp;quot;&#039;&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;chatcmpl-936c65ace55c4524&amp;quot;,&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;chat.completion&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: 1774862931,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;swiss-ai/Apertus-70B-Instruct-2509&amp;quot;,&lt;br /&gt;
  &amp;quot;choices&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;message&amp;quot;: {&lt;br /&gt;
        &amp;quot;role&amp;quot;: &amp;quot;assistant&amp;quot;,&lt;br /&gt;
        &amp;quot;content&amp;quot;: &amp;quot;Hello! It&#039;s nice to meet you. As Apertus, I&#039;m here to provide assistance, answer your questions, and help make your day a bit better. How may I assist you today?&amp;quot;,&lt;br /&gt;
        &amp;quot;refusal&amp;quot;: null,&lt;br /&gt;
        &amp;quot;annotations&amp;quot;: null,&lt;br /&gt;
        &amp;quot;audio&amp;quot;: null,&lt;br /&gt;
        &amp;quot;function_call&amp;quot;: null,&lt;br /&gt;
        &amp;quot;tool_calls&amp;quot;: [],&lt;br /&gt;
        &amp;quot;reasoning&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;logprobs&amp;quot;: null,&lt;br /&gt;
      &amp;quot;finish_reason&amp;quot;: &amp;quot;stop&amp;quot;,&lt;br /&gt;
      &amp;quot;stop_reason&amp;quot;: null,&lt;br /&gt;
      &amp;quot;token_ids&amp;quot;: null&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;service_tier&amp;quot;: null,&lt;br /&gt;
  &amp;quot;system_fingerprint&amp;quot;: null,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 63,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 104,&lt;br /&gt;
    &amp;quot;completion_tokens&amp;quot;: 41,&lt;br /&gt;
    &amp;quot;prompt_tokens_details&amp;quot;: null&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;prompt_logprobs&amp;quot;: null,&lt;br /&gt;
  &amp;quot;prompt_token_ids&amp;quot;: null,&lt;br /&gt;
  &amp;quot;kv_transfer_params&amp;quot;: null&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_BAAI/bge-reranker-v2-m3&amp;diff=1015</id>
		<title>AI on demand: BAAI/bge-reranker-v2-m3</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_BAAI/bge-reranker-v2-m3&amp;diff=1015"/>
		<updated>2026-05-07T09:49:01Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=BAAI/bge-reranker-v2-m3&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/rerank \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &#039;Content-Type: application/json&#039; \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;&#039;&amp;quot;$MODEL&amp;quot;&#039;&amp;quot;,&lt;br /&gt;
                &amp;quot;query&amp;quot;: &amp;quot;Which Swiss ski resorts are best for beginners?&amp;quot;,&lt;br /&gt;
                &amp;quot;documents&amp;quot;: [&lt;br /&gt;
                        &amp;quot;Zermatt offers challenging slopes and views of the Matterhorn.&amp;quot;,&lt;br /&gt;
                        &amp;quot;Grindelwald has beginner-friendly slopes and good ski schools.&amp;quot;,&lt;br /&gt;
                        &amp;quot;St. Moritz is known for luxury skiing and advanced runs.&amp;quot;,&lt;br /&gt;
                        &amp;quot;Arosa provides gentle slopes ideal for beginners and families.&amp;quot;&lt;br /&gt;
                ]&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;score-b22e866ab7c49d40&amp;quot;,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;BAAI/bge-reranker-v2-m3&amp;quot;,&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 119,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 119&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;results&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;document&amp;quot;: {&lt;br /&gt;
        &amp;quot;text&amp;quot;: &amp;quot;Grindelwald has beginner-friendly slopes and good ski schools.&amp;quot;,&lt;br /&gt;
        &amp;quot;multi_modal&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;relevance_score&amp;quot;: 0.319301038980484&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 3,&lt;br /&gt;
      &amp;quot;document&amp;quot;: {&lt;br /&gt;
        &amp;quot;text&amp;quot;: &amp;quot;Arosa provides gentle slopes ideal for beginners and families.&amp;quot;,&lt;br /&gt;
        &amp;quot;multi_modal&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;relevance_score&amp;quot;: 0.050355106592178345&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
      &amp;quot;document&amp;quot;: {&lt;br /&gt;
        &amp;quot;text&amp;quot;: &amp;quot;St. Moritz is known for luxury skiing and advanced runs.&amp;quot;,&lt;br /&gt;
        &amp;quot;multi_modal&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;relevance_score&amp;quot;: 0.01756473444402218&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;document&amp;quot;: {&lt;br /&gt;
        &amp;quot;text&amp;quot;: &amp;quot;Zermatt offers challenging slopes and views of the Matterhorn.&amp;quot;,&lt;br /&gt;
        &amp;quot;multi_modal&amp;quot;: null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;relevance_score&amp;quot;: 0.013464285060763359&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
	<entry>
		<id>https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_BAAI/bge-m3&amp;diff=1014</id>
		<title>AI on demand: BAAI/bge-m3</title>
		<link rel="alternate" type="text/html" href="https://wiki.stoney-cloud.com/w/index.php?title=AI_on_demand:_BAAI/bge-m3&amp;diff=1014"/>
		<updated>2026-05-07T09:48:09Z</updated>

		<summary type="html">&lt;p&gt;Sst-yde: Created page with &amp;quot;== Calling the model == &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; # Set your personal key: STONEY_KEY=sk-...  # Set the desired model: MODEL=BAAI/bge-m3  curl https://llm.stoney-cloud.com/v1/embeddings \         --silent --fail --show-error \         --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \         --header &amp;#039;Content-Type: application/json&amp;#039; \         --data &amp;#039;{                 &amp;quot;model&amp;quot;: &amp;quot;BAAI/bge-m3&amp;quot;,                 &amp;quot;input&amp;quot;: &amp;quot;The quick brown fox jumps over the lazy dog&amp;quot;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Calling the model ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set your personal key:&lt;br /&gt;
STONEY_KEY=sk-...&lt;br /&gt;
&lt;br /&gt;
# Set the desired model:&lt;br /&gt;
MODEL=BAAI/bge-m3&lt;br /&gt;
&lt;br /&gt;
curl https://llm.stoney-cloud.com/v1/embeddings \&lt;br /&gt;
        --silent --fail --show-error \&lt;br /&gt;
        --header &amp;quot;Authorization: Bearer $STONEY_KEY&amp;quot; \&lt;br /&gt;
        --header &#039;Content-Type: application/json&#039; \&lt;br /&gt;
        --data &#039;{&lt;br /&gt;
                &amp;quot;model&amp;quot;: &amp;quot;BAAI/bge-m3&amp;quot;,&lt;br /&gt;
                &amp;quot;input&amp;quot;: &amp;quot;The quick brown fox jumps over the lazy dog&amp;quot;&lt;br /&gt;
        }&#039; \&lt;br /&gt;
        | jq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;embd-ab86614d2cd57a79&amp;quot;,&lt;br /&gt;
  &amp;quot;object&amp;quot;: &amp;quot;list&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: 1778147167,&lt;br /&gt;
  &amp;quot;model&amp;quot;: &amp;quot;BAAI/bge-m3&amp;quot;,&lt;br /&gt;
  &amp;quot;data&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;object&amp;quot;: &amp;quot;embedding&amp;quot;,&lt;br /&gt;
      &amp;quot;embedding&amp;quot;: [&lt;br /&gt;
        -0.02912014164030552,&lt;br /&gt;
        0.027682997286319733,&lt;br /&gt;
        -0.04915034398436546,&lt;br /&gt;
        0.002660962985828519,&lt;br /&gt;
        -0.01616787724196911,&lt;br /&gt;
        0.009036046452820301,&lt;br /&gt;
        0.02346138469874859,&lt;br /&gt;
        -0.038587331771850586,&lt;br /&gt;
        -0.024305706843733788,&lt;br /&gt;
        -0.05209648981690407,&lt;br /&gt;
        -0.019904451444745064,&lt;br /&gt;
        -0.009736654348671436,&lt;br /&gt;
        -0.012206746265292168,&lt;br /&gt;
        -0.0041632279753685,&lt;br /&gt;
        0.025275779888033867,&lt;br /&gt;
        -0.01667087711393833,&lt;br /&gt;
        0.020964346826076508,&lt;br /&gt;
        -0.031832750886678696,&lt;br /&gt;
        -0.0221859198063612,&lt;br /&gt;
        -0.01094026304781437,&lt;br /&gt;
        -0.02541949413716793,&lt;br /&gt;
        -0.008407295681536198,&lt;br /&gt;
        0.03740168735384941,&lt;br /&gt;
        0.034024398773908615,&lt;br /&gt;
        -0.020569130778312683,&lt;br /&gt;
        0.028311748057603836,&lt;br /&gt;
        0.0475335568189621,&lt;br /&gt;
        -0.008106393739581108,&lt;br /&gt;
        -0.0006882575107738376,&lt;br /&gt;
        0.06093493103981018,&lt;br /&gt;
        -0.0075270445086061954,&lt;br /&gt;
        -0.022778742015361786,&lt;br /&gt;
        -0.04300655052065849,&lt;br /&gt;
        -0.06255171447992325,&lt;br /&gt;
        -0.01830562949180603,&lt;br /&gt;
        -0.06750986725091934,&lt;br /&gt;
        -0.006574936211109161,&lt;br /&gt;
        0.0028900078032165766,&lt;br /&gt;
        -0.03729390352964401,&lt;br /&gt;
        -0.03296450525522232,&lt;br /&gt;
        0.01276363991200924,&lt;br /&gt;
        0.012970229610800743,&lt;br /&gt;
        0.013311551883816719,&lt;br /&gt;
        -0.0010329476790502667,&lt;br /&gt;
        0.01812598668038845,&lt;br /&gt;
        -0.011371406726539135,&lt;br /&gt;
        0.022958384826779366,&lt;br /&gt;
        -0.01322173047810793,&lt;br /&gt;
        -0.014263659715652466,&lt;br /&gt;
        -0.036826830357313156,&lt;br /&gt;
        -0.01374269463121891,&lt;br /&gt;
        0.027215925976634026,&lt;br /&gt;
        0.008515081368386745,&lt;br /&gt;
        0.026838675141334534,&lt;br /&gt;
        0.02651531808078289,&lt;br /&gt;
        -0.009431261569261551,&lt;br /&gt;
        0.02518595941364765,&lt;br /&gt;
        -0.011281585320830345,&lt;br /&gt;
        -0.013904374092817307,&lt;br /&gt;
        -0.029587214812636375,&lt;br /&gt;
        -0.01404808834195137,&lt;br /&gt;
        0.04609641060233116,&lt;br /&gt;
        0.0022590116132050753,&lt;br /&gt;
        -0.008079446852207184,&lt;br /&gt;
        -0.047641344368457794,&lt;br /&gt;
        0.1104445606470108,&lt;br /&gt;
        -0.00530396169051528,&lt;br /&gt;
        -0.031473465263843536,&lt;br /&gt;
        -0.007109374739229679,&lt;br /&gt;
        0.003419955028221011,&lt;br /&gt;
        0.004675210919231176,&lt;br /&gt;
        -0.015476251021027565,&lt;br /&gt;
        -0.028653070330619812,&lt;br /&gt;
        -0.025670994073152542,&lt;br /&gt;
        -0.01684153825044632,&lt;br /&gt;
        0.028922533616423607,&lt;br /&gt;
        0.03240761160850525,&lt;br /&gt;
        -0.02850935608148575,&lt;br /&gt;
        0.010347440838813782,&lt;br /&gt;
        0.04943777248263359,&lt;br /&gt;
        0.07465966045856476,&lt;br /&gt;
        0.009018082171678543,&lt;br /&gt;
        -0.05744985491037369,&lt;br /&gt;
        0.0004429324471857399,&lt;br /&gt;
        0.00833094771951437,&lt;br /&gt;
        0.04918627440929413,&lt;br /&gt;
        0.0054297116585075855,&lt;br /&gt;
        -0.033054325729608536,&lt;br /&gt;
        0.015018160454928875,&lt;br /&gt;
        0.03571304306387901,&lt;br /&gt;
        -0.0014079526299610734,&lt;br /&gt;
        0.013688801787793636,&lt;br /&gt;
        0.009000117890536785,&lt;br /&gt;
        -0.020353559404611588,&lt;br /&gt;
        -0.006907275877892971,&lt;br /&gt;
        -0.02353324182331562,&lt;br /&gt;
        0.0037118750624358654,&lt;br /&gt;
        0.024395529180765152,&lt;br /&gt;
        -0.02881474792957306,&lt;br /&gt;
        -0.022167954593896866,&lt;br /&gt;
        0.004174456000328064,&lt;br /&gt;
        0.031024359166622162,&lt;br /&gt;
        -0.006440204102545977,&lt;br /&gt;
        -0.05152163282036781,&lt;br /&gt;
        0.000004464761786948657,&lt;br /&gt;
        -0.010958227328956127,&lt;br /&gt;
        0.016194822266697884,&lt;br /&gt;
        0.007127339020371437,&lt;br /&gt;
        -0.02304820530116558,&lt;br /&gt;
        -0.010392352007329464,&lt;br /&gt;
        0.058455854654312134,&lt;br /&gt;
        0.025078173726797104,&lt;br /&gt;
        -0.014569053426384926,&lt;br /&gt;
        0.016643930226564407,&lt;br /&gt;
        -0.009440243244171143,&lt;br /&gt;
        -0.05180906131863594,&lt;br /&gt;
        -0.014344499446451664,&lt;br /&gt;
        -0.02019188180565834,&lt;br /&gt;
        0.014191802591085434,&lt;br /&gt;
        -0.0011059276293963194,&lt;br /&gt;
        0.030359679833054543,&lt;br /&gt;
        0.03883883357048035,&lt;br /&gt;
        0.08048009872436523,&lt;br /&gt;
        -0.03095250204205513,&lt;br /&gt;
        0.02712610363960266,&lt;br /&gt;
        -0.05400070920586586,&lt;br /&gt;
        0.010913316160440445,&lt;br /&gt;
        -0.009089939296245575,&lt;br /&gt;
        0.0003778118407353759,&lt;br /&gt;
        0.08141423761844635,&lt;br /&gt;
        0.011066013015806675,&lt;br /&gt;
        0.004015022423118353,&lt;br /&gt;
        0.02504224330186844,&lt;br /&gt;
        -0.0442640520632267,&lt;br /&gt;
        -0.04315026476979256,&lt;br /&gt;
        -0.00979054719209671,&lt;br /&gt;
        0.004473112523555756,&lt;br /&gt;
        0.029695000499486923,&lt;br /&gt;
        0.03497650474309921,&lt;br /&gt;
        0.00037556630559265614,&lt;br /&gt;
        0.059138499200344086,&lt;br /&gt;
        0.0284554623067379,&lt;br /&gt;
        0.006022533867508173,&lt;br /&gt;
        -0.047030556946992874,&lt;br /&gt;
        0.027108140289783478,&lt;br /&gt;
        -0.08615681529045105,&lt;br /&gt;
        0.0585995689034462,&lt;br /&gt;
        -0.0412101224064827,&lt;br /&gt;
        0.01009594090282917,&lt;br /&gt;
        -0.015305589884519577,&lt;br /&gt;
        -0.0679769366979599,&lt;br /&gt;
        -0.01848527230322361,&lt;br /&gt;
        -0.013841498643159866,&lt;br /&gt;
        -0.02098231017589569,&lt;br /&gt;
        -0.017227770760655403,&lt;br /&gt;
        -0.018808629363775253,&lt;br /&gt;
        0.002696891548112035,&lt;br /&gt;
        0.04462333768606186,&lt;br /&gt;
        -0.0004965447005815804,&lt;br /&gt;
        0.03574896976351738,&lt;br /&gt;
        0.021072132512927055,&lt;br /&gt;
        -0.019563131034374237,&lt;br /&gt;
        -0.006215650122612715,&lt;br /&gt;
        -0.024108100682497025,&lt;br /&gt;
        0.004733595065772533,&lt;br /&gt;
        -0.0032201020512729883,&lt;br /&gt;
        0.002182663418352604,&lt;br /&gt;
        0.016985252499580383,&lt;br /&gt;
        0.0036534909158945084,&lt;br /&gt;
        -0.02741353213787079,&lt;br /&gt;
        -0.03167107328772545,&lt;br /&gt;
        -0.0867316722869873,&lt;br /&gt;
        0.01861102133989334,&lt;br /&gt;
        -0.014182820916175842,&lt;br /&gt;
        0.0330902524292469,&lt;br /&gt;
        -0.0023353600408881903,&lt;br /&gt;
        0.023551207035779953,&lt;br /&gt;
        0.00909443013370037,&lt;br /&gt;
        -0.0017616248223930597,&lt;br /&gt;
        -0.023012276738882065,&lt;br /&gt;
        -0.013545087538659573,&lt;br /&gt;
        -0.0035322317853569984,&lt;br /&gt;
        -0.0057889982126653194,&lt;br /&gt;
        -0.021449383348226547,&lt;br /&gt;
        0.0055509707890450954,&lt;br /&gt;
        -0.02299431338906288,&lt;br /&gt;
        0.021126024425029755,&lt;br /&gt;
        0.008375857956707478,&lt;br /&gt;
        -0.003570405999198556,&lt;br /&gt;
        0.008892332203686237,&lt;br /&gt;
        -0.018934380263090134,&lt;br /&gt;
        0.01792837865650654,&lt;br /&gt;
        -0.012610943987965584,&lt;br /&gt;
        -0.03064710833132267,&lt;br /&gt;
        -0.013832516968250275,&lt;br /&gt;
        -0.03959333151578903,&lt;br /&gt;
        0.010113905183970928,&lt;br /&gt;
        -0.07523451745510101,&lt;br /&gt;
        0.01952720247209072,&lt;br /&gt;
        -0.003161718137562275,&lt;br /&gt;
        0.0011306286323815584,&lt;br /&gt;
        0.024916494265198708,&lt;br /&gt;
        0.02664106711745262,&lt;br /&gt;
        -0.03865918889641762,&lt;br /&gt;
        -0.015880446881055832,&lt;br /&gt;
        -0.020533202216029167,&lt;br /&gt;
        -0.03362918272614479,&lt;br /&gt;
        -0.050192274153232574,&lt;br /&gt;
        0.022724848240613937,&lt;br /&gt;
        0.024611100554466248,&lt;br /&gt;
        0.023982349783182144,&lt;br /&gt;
        0.041749048978090286,&lt;br /&gt;
        0.04322212189435959,&lt;br /&gt;
        -0.06571343541145325,&lt;br /&gt;
        -0.006907275877892971,&lt;br /&gt;
        0.0022421700414270163,&lt;br /&gt;
        0.010230672545731068,&lt;br /&gt;
        -0.0014472495531663299,&lt;br /&gt;
        0.011883389204740524,&lt;br /&gt;
        -0.023371564224362373,&lt;br /&gt;
        0.03159921616315842,&lt;br /&gt;
        0.01636548340320587,&lt;br /&gt;
        0.016311591491103172,&lt;br /&gt;
        0.02656920999288559,&lt;br /&gt;
        0.07110273092985153,&lt;br /&gt;
        -0.005021024029701948,&lt;br /&gt;
        0.010679780505597591,&lt;br /&gt;
        0.043078407645225525,&lt;br /&gt;
        -0.03052135743200779,&lt;br /&gt;
        -0.03251539543271065,&lt;br /&gt;
        -0.00811986718326807,&lt;br /&gt;
        -0.007455187384039164,&lt;br /&gt;
        -0.0252937451004982,&lt;br /&gt;
        0.019724808633327484,&lt;br /&gt;
        0.019437380135059357,&lt;br /&gt;
        0.008757599629461765,&lt;br /&gt;
        -0.012862443923950195,&lt;br /&gt;
        0.04455148056149483,&lt;br /&gt;
        0.041138261556625366,&lt;br /&gt;
        0.04990484565496445,&lt;br /&gt;
        -0.021970348432660103,&lt;br /&gt;
        0.010967209935188293,&lt;br /&gt;
        0.012143871746957302,&lt;br /&gt;
        -0.0034087272360920906,&lt;br /&gt;
        0.02931774966418743,&lt;br /&gt;
        -0.016185840591788292,&lt;br /&gt;
        0.015485232695937157,&lt;br /&gt;
        -0.02822192572057247,&lt;br /&gt;
        0.023263778537511826,&lt;br /&gt;
        0.04261133819818497,&lt;br /&gt;
        -0.021431418135762215,&lt;br /&gt;
        -0.05155756324529648,&lt;br /&gt;
        -0.020407453179359436,&lt;br /&gt;
        -0.01553912553936243,&lt;br /&gt;
        -0.010958227328956127,&lt;br /&gt;
        0.03632383048534393,&lt;br /&gt;
        -0.0041632279753685,&lt;br /&gt;
        0.009925279766321182,&lt;br /&gt;
        0.037545401602983475,&lt;br /&gt;
        0.0012889390345662832,&lt;br /&gt;
        0.013598980382084846,&lt;br /&gt;
        0.04613234102725983,&lt;br /&gt;
        0.0170211810618639,&lt;br /&gt;
        0.041497550904750824,&lt;br /&gt;
        -0.0601804293692112,&lt;br /&gt;
        -0.007486625108867884,&lt;br /&gt;
        0.010724691674113274,&lt;br /&gt;
        0.028078211471438408,&lt;br /&gt;
        0.0027081193402409554,&lt;br /&gt;
        0.008151303976774216,&lt;br /&gt;
        -0.0197068452835083,&lt;br /&gt;
        -0.009332457557320595,&lt;br /&gt;
        -0.035892684012651443,&lt;br /&gt;
        0.012368425726890564,&lt;br /&gt;
        0.045880839228630066,&lt;br /&gt;
        0.052383918315172195,&lt;br /&gt;
        0.0098803685978055,&lt;br /&gt;
        0.002485811011865735,&lt;br /&gt;
        0.05173720419406891,&lt;br /&gt;
        -0.02565303072333336,&lt;br /&gt;
        -0.011892370879650116,&lt;br /&gt;
        0.0292997844517231,&lt;br /&gt;
        0.0056093549355864525,&lt;br /&gt;
        0.015233732759952545,&lt;br /&gt;
        -0.00010259303235216066,&lt;br /&gt;
        -0.0026901550590991974,&lt;br /&gt;
        -0.012440282851457596,&lt;br /&gt;
        0.03840768709778786,&lt;br /&gt;
        -0.015287625603377819,&lt;br /&gt;
        -0.049653343856334686,&lt;br /&gt;
        -0.00685787433758378,&lt;br /&gt;
        -0.046311985701322556,&lt;br /&gt;
        0.029102178290486336,&lt;br /&gt;
        -0.027862640097737312,&lt;br /&gt;
        0.0538569912314415,&lt;br /&gt;
        -0.042898766696453094,&lt;br /&gt;
        -0.011667817831039429,&lt;br /&gt;
        -0.11921114474534988,&lt;br /&gt;
        0.03258725255727768,&lt;br /&gt;
        0.005528515670448542,&lt;br /&gt;
        -0.026479389518499374,&lt;br /&gt;
        0.009107903577387333,&lt;br /&gt;
        -0.021251775324344635,&lt;br /&gt;
        0.018314611166715622,&lt;br /&gt;
        -0.012242675758898258,&lt;br /&gt;
        0.04422812536358833,&lt;br /&gt;
        -0.045449696481227875,&lt;br /&gt;
        -0.03732983022928238,&lt;br /&gt;
        -0.03847954422235489,&lt;br /&gt;
        -0.0007668513571843505,&lt;br /&gt;
        -0.015584036707878113,&lt;br /&gt;
        0.07002487033605576,&lt;br /&gt;
        0.050264131277799606,&lt;br /&gt;
        0.01453312486410141,&lt;br /&gt;
        -0.0522761344909668,&lt;br /&gt;
        -0.002461110008880496,&lt;br /&gt;
        -0.02249131165444851,&lt;br /&gt;
        -0.06036007031798363,&lt;br /&gt;
        0.05583306774497032,&lt;br /&gt;
        0.043868839740753174,&lt;br /&gt;
        -0.05012041702866554,&lt;br /&gt;
        -0.019742773845791817,&lt;br /&gt;
        -0.035784900188446045,&lt;br /&gt;
        -0.033898647874593735,&lt;br /&gt;
        -0.05065934732556343,&lt;br /&gt;
        -0.02687460370361805,&lt;br /&gt;
        0.010194743983447552,&lt;br /&gt;
        -0.021431418135762215,&lt;br /&gt;
        -0.014937321655452251,&lt;br /&gt;
        -0.010140851140022278,&lt;br /&gt;
        -0.0009420033311471343,&lt;br /&gt;
        0.010616905987262726,&lt;br /&gt;
        0.06474336236715317,&lt;br /&gt;
        -0.03357528895139694,&lt;br /&gt;
        -0.08335438370704651,&lt;br /&gt;
        -0.010257619433104992,&lt;br /&gt;
        0.015000196173787117,&lt;br /&gt;
        0.04458741098642349,&lt;br /&gt;
        0.08903110772371292,&lt;br /&gt;
        -0.015476251021027565,&lt;br /&gt;
        0.028724927455186844,&lt;br /&gt;
        -0.011784585192799568,&lt;br /&gt;
        -0.07861180603504181,&lt;br /&gt;
        -0.02991057187318802,&lt;br /&gt;
        0.004863836336880922,&lt;br /&gt;
        -0.0018402186688035727,&lt;br /&gt;
        -0.007410276681184769,&lt;br /&gt;
        -0.014281623996794224,&lt;br /&gt;
        0.02195238322019577,&lt;br /&gt;
        0.0443718396127224,&lt;br /&gt;
        -0.015063071623444557,&lt;br /&gt;
        -0.00740129454061389,&lt;br /&gt;
        0.03873104602098465,&lt;br /&gt;
        -0.01592535898089409,&lt;br /&gt;
        -0.02651531808078289,&lt;br /&gt;
        -0.03370103985071182,&lt;br /&gt;
        0.052383918315172195,&lt;br /&gt;
        0.01677866280078888,&lt;br /&gt;
        0.02912014164030552,&lt;br /&gt;
        0.01811700314283371,&lt;br /&gt;
        0.01733555644750595,&lt;br /&gt;
        -0.021323632448911667,&lt;br /&gt;
        0.037725046277046204,&lt;br /&gt;
        -0.03003632090985775,&lt;br /&gt;
        -0.06682722270488739,&lt;br /&gt;
        0.05249170586466789,&lt;br /&gt;
        -0.012485193088650703,&lt;br /&gt;
        -0.003828642889857292,&lt;br /&gt;
        -0.03546154126524925,&lt;br /&gt;
        0.008824965916574001,&lt;br /&gt;
        0.015979250892996788,&lt;br /&gt;
        0.04659941419959068,&lt;br /&gt;
        0.019617022946476936,&lt;br /&gt;
        0.0634499341249466,&lt;br /&gt;
        -0.0054880958050489426,&lt;br /&gt;
        -0.0427909791469574,&lt;br /&gt;
        -0.07473152130842209,&lt;br /&gt;
        0.03497650474309921,&lt;br /&gt;
        -0.0004117756034247577,&lt;br /&gt;
        0.006435713265091181,&lt;br /&gt;
        0.0013742694864049554,&lt;br /&gt;
        -0.021305669099092484,&lt;br /&gt;
        -0.016625966876745224,&lt;br /&gt;
        0.01950923725962639,&lt;br /&gt;
        0.011119905859231949,&lt;br /&gt;
        0.0316171795129776,&lt;br /&gt;
        0.1971762329339981,&lt;br /&gt;
        0.024718886241316795,&lt;br /&gt;
        -0.0221859198063612,&lt;br /&gt;
        0.046419769525527954,&lt;br /&gt;
        -0.012952265329658985,&lt;br /&gt;
        -0.009916297160089016,&lt;br /&gt;
        0.04523412510752678,&lt;br /&gt;
        0.0005928221507929265,&lt;br /&gt;
        -0.01579960808157921,&lt;br /&gt;
        -0.01027558371424675,&lt;br /&gt;
        -0.0221859198063612,&lt;br /&gt;
        -0.0005425782292149961,&lt;br /&gt;
        0.022347597405314445,&lt;br /&gt;
        -0.004890782758593559,&lt;br /&gt;
        -0.04839584231376648,&lt;br /&gt;
        0.04214426502585411,&lt;br /&gt;
        -0.02475481480360031,&lt;br /&gt;
        0.013455266132950783,&lt;br /&gt;
        0.04063526168465614,&lt;br /&gt;
        -0.06959372758865356,&lt;br /&gt;
        0.02827581949532032,&lt;br /&gt;
        0.010985174216330051,&lt;br /&gt;
        -0.02967703528702259,&lt;br /&gt;
        0.038766976445913315,&lt;br /&gt;
        -0.045808982104063034,&lt;br /&gt;
        -0.07200094312429428,&lt;br /&gt;
        0.03944961726665497,&lt;br /&gt;
        0.05892292782664299,&lt;br /&gt;
        -0.03276689723134041,&lt;br /&gt;
        -0.03580286353826523,&lt;br /&gt;
        -0.018646951764822006,&lt;br /&gt;
        -0.0362519733607769,&lt;br /&gt;
        -0.022293705493211746,&lt;br /&gt;
        0.029030321165919304,&lt;br /&gt;
        0.03452739864587784,&lt;br /&gt;
        0.014110962860286236,&lt;br /&gt;
        0.008654304780066013,&lt;br /&gt;
        0.006327927112579346,&lt;br /&gt;
        -0.01684153825044632,&lt;br /&gt;
        -0.013922338373959064,&lt;br /&gt;
        -0.010778584517538548,&lt;br /&gt;
        -0.013437301851809025,&lt;br /&gt;
        -0.04315026476979256,&lt;br /&gt;
        -0.022832633927464485,&lt;br /&gt;
        0.024179957807064056,&lt;br /&gt;
        -0.023856600746512413,&lt;br /&gt;
        -0.024359600618481636,&lt;br /&gt;
        0.0024633556604385376,&lt;br /&gt;
        -0.03569507971405983,&lt;br /&gt;
        -0.05338992178440094,&lt;br /&gt;
        -0.020587095990777016,&lt;br /&gt;
        0.02832971327006817,&lt;br /&gt;
        -0.01909605786204338,&lt;br /&gt;
        0.011380388401448727,&lt;br /&gt;
        0.010895351879298687,&lt;br /&gt;
        0.016149912029504776,&lt;br /&gt;
        -0.03826397284865379,&lt;br /&gt;
        -0.048611413687467575,&lt;br /&gt;
        -0.017730770632624626,&lt;br /&gt;
        0.019257737323641777,&lt;br /&gt;
        -0.046419769525527954,&lt;br /&gt;
        0.05630013719201088,&lt;br /&gt;
        -0.05267134681344032,&lt;br /&gt;
        -0.023874564096331596,&lt;br /&gt;
        -0.03549747169017792,&lt;br /&gt;
        0.026784781366586685,&lt;br /&gt;
        -0.029389606788754463,&lt;br /&gt;
        0.003579388139769435,&lt;br /&gt;
        -0.02042541652917862,&lt;br /&gt;
        -0.0034513925202190876,&lt;br /&gt;
        0.006754579488188028,&lt;br /&gt;
        0.024341635406017303,&lt;br /&gt;
        -0.012143871746957302,&lt;br /&gt;
        -0.01553912553936243,&lt;br /&gt;
        0.005375818815082312,&lt;br /&gt;
        -0.005950676742941141,&lt;br /&gt;
        0.0077381255105137825,&lt;br /&gt;
        0.031221965327858925,&lt;br /&gt;
        0.07034822553396225,&lt;br /&gt;
        0.031060287728905678,&lt;br /&gt;
        -0.004854854196310043,&lt;br /&gt;
        -0.04124604910612106,&lt;br /&gt;
        -0.06000078469514847,&lt;br /&gt;
        -0.02626381628215313,&lt;br /&gt;
        0.02552727982401848,&lt;br /&gt;
        0.041102334856987,&lt;br /&gt;
        0.0019075848395004869,&lt;br /&gt;
        0.06700686365365982,&lt;br /&gt;
        -0.029102178290486336,&lt;br /&gt;
        0.016347520053386688,&lt;br /&gt;
        0.011847460642457008,&lt;br /&gt;
        0.024090135470032692,&lt;br /&gt;
        -0.06194093078374863,&lt;br /&gt;
        -0.006233614403754473,&lt;br /&gt;
        -0.04738984256982803,&lt;br /&gt;
        0.0015381937846541405,&lt;br /&gt;
        0.010985174216330051,&lt;br /&gt;
        -0.025455422699451447,&lt;br /&gt;
        -0.01623973436653614,&lt;br /&gt;
        0.023623064160346985,&lt;br /&gt;
        0.01100313849747181,&lt;br /&gt;
        0.0005105792661197484,&lt;br /&gt;
        0.026299744844436646,&lt;br /&gt;
        -0.013491194695234299,&lt;br /&gt;
        0.07739023864269257,&lt;br /&gt;
        -0.014335516840219498,&lt;br /&gt;
        -0.03028782270848751,&lt;br /&gt;
        0.05946185812354088,&lt;br /&gt;
        -0.0079042948782444,&lt;br /&gt;
        -0.018395449966192245,&lt;br /&gt;
        0.06477928906679153,&lt;br /&gt;
        -0.024161992594599724,&lt;br /&gt;
        -0.035731006413698196,&lt;br /&gt;
        -0.06600086390972137,&lt;br /&gt;
        0.010509119369089603,&lt;br /&gt;
        0.015170857310295105,&lt;br /&gt;
        0.01042828056961298,&lt;br /&gt;
        -0.000521807000041008,&lt;br /&gt;
        0.024359600618481636,&lt;br /&gt;
        0.02200627699494362,&lt;br /&gt;
        0.025329673662781715,&lt;br /&gt;
        0.016652911901474,&lt;br /&gt;
        -0.019652951508760452,&lt;br /&gt;
        -0.021072132512927055,&lt;br /&gt;
        0.005277015268802643,&lt;br /&gt;
        -0.07537823170423508,&lt;br /&gt;
        -0.00027844676515087485,&lt;br /&gt;
        0.027395568788051605,&lt;br /&gt;
        -0.007284526713192463,&lt;br /&gt;
        -0.008892332203686237,&lt;br /&gt;
        -0.006988115608692169,&lt;br /&gt;
        -0.0018840066622942686,&lt;br /&gt;
        -0.013787605799734592,&lt;br /&gt;
        0.03375493362545967,&lt;br /&gt;
        0.030790822580456734,&lt;br /&gt;
        -0.014829535968601704,&lt;br /&gt;
        0.04135383665561676,&lt;br /&gt;
        0.0010604554554447532,&lt;br /&gt;
        -0.002270239405333996,&lt;br /&gt;
        0.049581486731767654,&lt;br /&gt;
        0.008043518289923668,&lt;br /&gt;
        -0.009049519896507263,&lt;br /&gt;
        -0.011398352682590485,&lt;br /&gt;
        0.039521474391222,&lt;br /&gt;
        0.04961741715669632,&lt;br /&gt;
        0.014829535968601704,&lt;br /&gt;
        -0.032802823930978775,&lt;br /&gt;
        -0.009592940099537373,&lt;br /&gt;
        -0.03829990327358246,&lt;br /&gt;
        -0.0130690336227417,&lt;br /&gt;
        0.009009100496768951,&lt;br /&gt;
        -0.0056273192167282104,&lt;br /&gt;
        -0.02559913694858551,&lt;br /&gt;
        -0.019419416785240173,&lt;br /&gt;
        -0.00006048919021850452,&lt;br /&gt;
        0.011703746393322945,&lt;br /&gt;
        -0.035299863666296005,&lt;br /&gt;
        -0.005955168046057224,&lt;br /&gt;
        -0.039737045764923096,&lt;br /&gt;
        -0.028904570266604424,&lt;br /&gt;
        0.00976360123604536,&lt;br /&gt;
        0.006363855674862862,&lt;br /&gt;
        -0.013051069341599941,&lt;br /&gt;
        0.01249417569488287,&lt;br /&gt;
        -0.012610943987965584,&lt;br /&gt;
        0.031042322516441345,&lt;br /&gt;
        -0.0004002672212664038,&lt;br /&gt;
        -0.000161257732543163,&lt;br /&gt;
        0.01818886026740074,&lt;br /&gt;
        -0.009431261569261551,&lt;br /&gt;
        -0.021808668971061707,&lt;br /&gt;
        -0.0118564423173666,&lt;br /&gt;
        0.0031774367671459913,&lt;br /&gt;
        -0.0046617379412055016,&lt;br /&gt;
        -0.014452285133302212,&lt;br /&gt;
        0.019257737323641777,&lt;br /&gt;
        0.00685787433758378,&lt;br /&gt;
        -0.019599059596657753,&lt;br /&gt;
        0.04049154743552208,&lt;br /&gt;
        0.01395826693624258,&lt;br /&gt;
        0.007980643771588802,&lt;br /&gt;
        0.07365366071462631,&lt;br /&gt;
        -0.025886567309498787,&lt;br /&gt;
        0.007684232201427221,&lt;br /&gt;
        0.0011575750540941954,&lt;br /&gt;
        0.0871628150343895,&lt;br /&gt;
        -0.0134103549644351,&lt;br /&gt;
        -0.019670916721224785,&lt;br /&gt;
        0.022042205557227135,&lt;br /&gt;
        -0.00013431126717478037,&lt;br /&gt;
        -0.05306656286120415,&lt;br /&gt;
        0.06571343541145325,&lt;br /&gt;
        0.032623182982206345,&lt;br /&gt;
        -0.009655815549194813,&lt;br /&gt;
        0.02383863553404808,&lt;br /&gt;
        0.036754973232746124,&lt;br /&gt;
        0.0002520616981200874,&lt;br /&gt;
        0.044479623436927795,&lt;br /&gt;
        0.02674885280430317,&lt;br /&gt;
        -0.05155756324529648,&lt;br /&gt;
        0.04117419198155403,&lt;br /&gt;
        -0.001863796846009791,&lt;br /&gt;
        -0.04810841381549835,&lt;br /&gt;
        0.038946617394685745,&lt;br /&gt;
        -0.01914995163679123,&lt;br /&gt;
        0.00976360123604536,&lt;br /&gt;
        -0.0134103549644351,&lt;br /&gt;
        0.009799529798328876,&lt;br /&gt;
        0.007015062030404806,&lt;br /&gt;
        -0.05234799161553383,&lt;br /&gt;
        -0.03984483331441879,&lt;br /&gt;
        -0.00408912543207407,&lt;br /&gt;
        -0.023030241951346397,&lt;br /&gt;
        -0.00808842945843935,&lt;br /&gt;
        0.025455422699451447,&lt;br /&gt;
        0.027503354474902153,&lt;br /&gt;
        -0.0076932143419981,&lt;br /&gt;
        -0.03869511932134628,&lt;br /&gt;
        0.005986605305224657,&lt;br /&gt;
        -0.03671904280781746,&lt;br /&gt;
        0.006386311259120703,&lt;br /&gt;
        0.014856481924653053,&lt;br /&gt;
        0.033844754099845886,&lt;br /&gt;
        0.005564444232732058,&lt;br /&gt;
        -0.02973092906177044,&lt;br /&gt;
        -0.0153864286839962,&lt;br /&gt;
        0.018503235653042793,&lt;br /&gt;
        -0.016087036579847336,&lt;br /&gt;
        -0.014155874028801918,&lt;br /&gt;
        0.0076887235045433044,&lt;br /&gt;
        0.007095901295542717,&lt;br /&gt;
        -0.036090292036533356,&lt;br /&gt;
        0.020964346826076508,&lt;br /&gt;
        0.004107089713215828,&lt;br /&gt;
        0.003013512585312128,&lt;br /&gt;
        0.020712846890091896,&lt;br /&gt;
        0.0014595999382436275,&lt;br /&gt;
        0.01480258908122778,&lt;br /&gt;
        0.042287979274988174,&lt;br /&gt;
        0.008083938620984554,&lt;br /&gt;
        -0.03873104602098465,&lt;br /&gt;
        -0.01792837865650654,&lt;br /&gt;
        0.02358713559806347,&lt;br /&gt;
        0.0730428695678711,&lt;br /&gt;
        -0.006619847379624844,&lt;br /&gt;
        -0.00016364360635634512,&lt;br /&gt;
        0.022203883156180382,&lt;br /&gt;
        0.006404275540262461,&lt;br /&gt;
        0.02967703528702259,&lt;br /&gt;
        0.008712689392268658,&lt;br /&gt;
        -0.017236752435564995,&lt;br /&gt;
        0.055904924869537354,&lt;br /&gt;
        0.02141345478594303,&lt;br /&gt;
        -0.008892332203686237,&lt;br /&gt;
        0.006422239821404219,&lt;br /&gt;
        -0.003727593692019582,&lt;br /&gt;
        0.02967703528702259,&lt;br /&gt;
        -0.04009633511304855,&lt;br /&gt;
        0.004091370850801468,&lt;br /&gt;
        0.004122808575630188,&lt;br /&gt;
        -0.026982389390468597,&lt;br /&gt;
        0.008914787322282791,&lt;br /&gt;
        -0.01932959444820881,&lt;br /&gt;
        0.03400643169879913,&lt;br /&gt;
        -0.0776776671409607,&lt;br /&gt;
        -0.07638423144817352,&lt;br /&gt;
        0.02274281345307827,&lt;br /&gt;
        -0.019778702408075333,&lt;br /&gt;
        -0.02006613090634346,&lt;br /&gt;
        -0.02967703528702259,&lt;br /&gt;
        -0.02322784997522831,&lt;br /&gt;
        -0.016401411965489388,&lt;br /&gt;
        -0.016006197780370712,&lt;br /&gt;
        -0.011577996425330639,&lt;br /&gt;
        0.003179682418704033,&lt;br /&gt;
        0.041749048978090286,&lt;br /&gt;
        0.0044169737957417965,&lt;br /&gt;
        0.0023600608110427856,&lt;br /&gt;
        0.004985095467418432,&lt;br /&gt;
        0.0023151501081883907,&lt;br /&gt;
        -0.03801247477531433,&lt;br /&gt;
        0.06542600691318512,&lt;br /&gt;
        0.011712728068232536,&lt;br /&gt;
        0.004345116671174765,&lt;br /&gt;
        -0.039126262068748474,&lt;br /&gt;
        -0.00011010155139956623,&lt;br /&gt;
        -0.0035928613506257534,&lt;br /&gt;
        0.03630586341023445,&lt;br /&gt;
        -0.0012372916098684072,&lt;br /&gt;
        -0.026048244908452034,&lt;br /&gt;
        -0.021341597661376,&lt;br /&gt;
        -0.03671904280781746,&lt;br /&gt;
        -0.024305706843733788,&lt;br /&gt;
        0.02554524503648281,&lt;br /&gt;
        -0.010994155891239643,&lt;br /&gt;
        -0.0057126497849822044,&lt;br /&gt;
        -0.002449882449582219,&lt;br /&gt;
        0.026712924242019653,&lt;br /&gt;
        0.003922955598682165,&lt;br /&gt;
        0.0276111401617527,&lt;br /&gt;
        0.020209845155477524,&lt;br /&gt;
        0.006193195004016161,&lt;br /&gt;
        -0.011955246329307556,&lt;br /&gt;
        0.021682918071746826,&lt;br /&gt;
        0.008824965916574001,&lt;br /&gt;
        0.0015134928980842233,&lt;br /&gt;
        0.014173838309943676,&lt;br /&gt;
        -0.02511410228908062,&lt;br /&gt;
        0.06801286339759827,&lt;br /&gt;
        -0.008110884577035904,&lt;br /&gt;
        0.055976781994104385,&lt;br /&gt;
        0.010616905987262726,&lt;br /&gt;
        0.020515238866209984,&lt;br /&gt;
        -0.012215728871524334,&lt;br /&gt;
        0.018934380263090134,&lt;br /&gt;
        -0.011613924987614155,&lt;br /&gt;
        0.024090135470032692,&lt;br /&gt;
        -0.04031190648674965,&lt;br /&gt;
        0.003224593121558428,&lt;br /&gt;
        -0.00755399139598012,&lt;br /&gt;
        0.04760541394352913,&lt;br /&gt;
        0.0015696313930675387,&lt;br /&gt;
        0.010203726589679718,&lt;br /&gt;
        0.030665071681141853,&lt;br /&gt;
        -0.04915034398436546,&lt;br /&gt;
        0.02771892584860325,&lt;br /&gt;
        -0.018575092777609825,&lt;br /&gt;
        0.04354548081755638,&lt;br /&gt;
        -0.008160286583006382,&lt;br /&gt;
        0.008074956014752388,&lt;br /&gt;
        -0.012790586799383163,&lt;br /&gt;
        -0.008470171131193638,&lt;br /&gt;
        0.04146162047982216,&lt;br /&gt;
        0.04713834077119827,&lt;br /&gt;
        0.030718965455889702,&lt;br /&gt;
        -0.03283875435590744,&lt;br /&gt;
        0.006925240624696016,&lt;br /&gt;
        -0.01641937717795372,&lt;br /&gt;
        0.05453963577747345,&lt;br /&gt;
        -0.05576121062040329,&lt;br /&gt;
        -0.0003045511548407376,&lt;br /&gt;
        0.051593489944934845,&lt;br /&gt;
        0.06255171447992325,&lt;br /&gt;
        0.0035232496447861195,&lt;br /&gt;
        0.029227927327156067,&lt;br /&gt;
        0.009206707589328289,&lt;br /&gt;
        -0.010473190806806087,&lt;br /&gt;
        -0.008932751603424549,&lt;br /&gt;
        0.0712464451789856,&lt;br /&gt;
        -0.007271053269505501,&lt;br /&gt;
        0.025670994073152542,&lt;br /&gt;
        0.028599176555871964,&lt;br /&gt;
        -0.036934614181518555,&lt;br /&gt;
        -0.03454536199569702,&lt;br /&gt;
        -0.03253335878252983,&lt;br /&gt;
        -0.04041969031095505,&lt;br /&gt;
        0.001776220859028399,&lt;br /&gt;
        -0.035964541137218475,&lt;br /&gt;
        0.024664994329214096,&lt;br /&gt;
        -0.051593489944934845,&lt;br /&gt;
        -0.0027440479025244713,&lt;br /&gt;
        -0.01413790974766016,&lt;br /&gt;
        -0.03616214916110039,&lt;br /&gt;
        0.014982231892645359,&lt;br /&gt;
        -0.010778584517538548,&lt;br /&gt;
        -0.0056497748009860516,&lt;br /&gt;
        -0.01586248353123665,&lt;br /&gt;
        -0.013482212089002132,&lt;br /&gt;
        0.034383684396743774,&lt;br /&gt;
        0.02991057187318802,&lt;br /&gt;
        -0.029659071937203407,&lt;br /&gt;
        -0.04591676965355873,&lt;br /&gt;
        0.002580123720690608,&lt;br /&gt;
        0.011057031340897083,&lt;br /&gt;
        0.00040110928239300847,&lt;br /&gt;
        0.01667087711393833,&lt;br /&gt;
        -0.0662882924079895,&lt;br /&gt;
        -0.08263581246137619,&lt;br /&gt;
        -0.024485351517796516,&lt;br /&gt;
        0.010778584517538548,&lt;br /&gt;
        -0.039665188640356064,&lt;br /&gt;
        -0.04713834077119827,&lt;br /&gt;
        -0.013859462924301624,&lt;br /&gt;
        -0.03283875435590744,&lt;br /&gt;
        0.035551365464925766,&lt;br /&gt;
        -0.018395449966192245,&lt;br /&gt;
        -0.02991057187318802,&lt;br /&gt;
        -0.003170700278133154,&lt;br /&gt;
        0.004765032324939966,&lt;br /&gt;
        0.011865424923598766,&lt;br /&gt;
        -0.036036401987075806,&lt;br /&gt;
        -0.006844400893896818,&lt;br /&gt;
        -0.011021102778613567,&lt;br /&gt;
        0.005860855337232351,&lt;br /&gt;
        -0.1217261478304863,&lt;br /&gt;
        0.007774054072797298,&lt;br /&gt;
        0.03337768092751503,&lt;br /&gt;
        0.022509276866912842,&lt;br /&gt;
        -0.03003632090985775,&lt;br /&gt;
        0.02669496089220047,&lt;br /&gt;
        -0.03686275705695152,&lt;br /&gt;
        -0.02906624972820282,&lt;br /&gt;
        0.004102598875761032,&lt;br /&gt;
        0.0039521474391222,&lt;br /&gt;
        -0.000857795646879822,&lt;br /&gt;
        0.02809617668390274,&lt;br /&gt;
        -0.028599176555871964,&lt;br /&gt;
        -0.04548562690615654,&lt;br /&gt;
        -0.012440282851457596,&lt;br /&gt;
        0.030072249472141266,&lt;br /&gt;
        0.008286036550998688,&lt;br /&gt;
        0.006363855674862862,&lt;br /&gt;
        0.017290646210312843,&lt;br /&gt;
        0.02335359901189804,&lt;br /&gt;
        -0.005793489050120115,&lt;br /&gt;
        0.030251894146203995,&lt;br /&gt;
        -0.025796744972467422,&lt;br /&gt;
        -0.045270055532455444,&lt;br /&gt;
        -0.0008998995181173086,&lt;br /&gt;
        0.010042048059403896,&lt;br /&gt;
        -0.02942553535103798,&lt;br /&gt;
        -0.027808748185634613,&lt;br /&gt;
        -0.03776097297668457,&lt;br /&gt;
        -0.06973744183778763,&lt;br /&gt;
        -0.012215728871524334,&lt;br /&gt;
        -0.042287979274988174,&lt;br /&gt;
        0.042683195322752,&lt;br /&gt;
        0.021018238738179207,&lt;br /&gt;
        -0.01721878908574581,&lt;br /&gt;
        0.0520605631172657,&lt;br /&gt;
        -0.00805699173361063,&lt;br /&gt;
        -0.004985095467418432,&lt;br /&gt;
        0.023551207035779953,&lt;br /&gt;
        -0.0569109246134758,&lt;br /&gt;
        0.032245930284261703,&lt;br /&gt;
        0.029156070202589035,&lt;br /&gt;
        0.016446324065327644,&lt;br /&gt;
        -0.008200705982744694,&lt;br /&gt;
        -0.02141345478594303,&lt;br /&gt;
        -0.015494215302169323,&lt;br /&gt;
        -0.016185840591788292,&lt;br /&gt;
        -0.00031016499269753695,&lt;br /&gt;
        -0.023623064160346985,&lt;br /&gt;
        -0.0067770350724458694,&lt;br /&gt;
        -0.003819660749286413,&lt;br /&gt;
        -0.04013226181268692,&lt;br /&gt;
        -0.01770382560789585,&lt;br /&gt;
        0.022670956328511238,&lt;br /&gt;
        0.00036882967106066644,&lt;br /&gt;
        0.025509316474199295,&lt;br /&gt;
        -0.0002235714200651273,&lt;br /&gt;
        -0.0014247940853238106,&lt;br /&gt;
        -0.007441714406013489,&lt;br /&gt;
        0.0774620920419693,&lt;br /&gt;
        -0.015359482727944851,&lt;br /&gt;
        -0.02797042578458786,&lt;br /&gt;
        -0.06991708278656006,&lt;br /&gt;
        -0.028545284643769264,&lt;br /&gt;
        -0.022455383092164993,&lt;br /&gt;
        -0.0174433421343565,&lt;br /&gt;
        -0.04699462652206421,&lt;br /&gt;
        0.06370143592357635,&lt;br /&gt;
        0.0007988502620719373,&lt;br /&gt;
        0.022167954593896866,&lt;br /&gt;
        -0.017551127821207047,&lt;br /&gt;
        -0.024161992594599724,&lt;br /&gt;
        0.017182860523462296,&lt;br /&gt;
        -0.03397050499916077,&lt;br /&gt;
        0.035731006413698196,&lt;br /&gt;
        0.0443718396127224,&lt;br /&gt;
        0.00736985681578517,&lt;br /&gt;
        -0.020209845155477524,&lt;br /&gt;
        -0.05780914053320885,&lt;br /&gt;
        -0.0538569912314415,&lt;br /&gt;
        -0.036701079457998276,&lt;br /&gt;
        0.014344499446451664,&lt;br /&gt;
        -0.003734330413863063,&lt;br /&gt;
        -0.034204039722681046,&lt;br /&gt;
        0.023802706971764565,&lt;br /&gt;
        0.04659941419959068,&lt;br /&gt;
        -0.025150030851364136,&lt;br /&gt;
        -0.0031864189077168703,&lt;br /&gt;
        -0.04063526168465614,&lt;br /&gt;
        -0.006395293399691582,&lt;br /&gt;
        -0.041102334856987,&lt;br /&gt;
        -0.017730770632624626,&lt;br /&gt;
        -0.03776097297668457,&lt;br /&gt;
        -0.011137870140373707,&lt;br /&gt;
        -0.056084565818309784,&lt;br /&gt;
        -0.02912014164030552,&lt;br /&gt;
        0.014991214498877525,&lt;br /&gt;
        0.028114140033721924,&lt;br /&gt;
        -0.037976544350385666,&lt;br /&gt;
        0.007917768321931362,&lt;br /&gt;
        0.0063997842371463776,&lt;br /&gt;
        0.006929731462150812,&lt;br /&gt;
        -0.007203686982393265,&lt;br /&gt;
        0.0018256227485835552,&lt;br /&gt;
        -0.04559341073036194,&lt;br /&gt;
        -0.04282690957188606,&lt;br /&gt;
        0.009889351204037666,&lt;br /&gt;
        0.017434360459446907,&lt;br /&gt;
        -0.007086919154971838,&lt;br /&gt;
        0.046311985701322556,&lt;br /&gt;
        0.013230712153017521,&lt;br /&gt;
        0.020335596054792404,&lt;br /&gt;
        0.028293784707784653,&lt;br /&gt;
        0.013706766068935394,&lt;br /&gt;
        -0.017371485009789467,&lt;br /&gt;
        -0.014155874028801918,&lt;br /&gt;
        0.0161768589168787,&lt;br /&gt;
        -0.027323711663484573,&lt;br /&gt;
        -0.024179957807064056,&lt;br /&gt;
        -0.030844714492559433,&lt;br /&gt;
        -0.0075180623680353165,&lt;br /&gt;
        0.002607070142403245,&lt;br /&gt;
        0.021611060947179794,&lt;br /&gt;
        -0.0284015703946352,&lt;br /&gt;
        0.013042086735367775,&lt;br /&gt;
        0.04067119210958481,&lt;br /&gt;
        0.017236752435564995,&lt;br /&gt;
        0.007163267582654953,&lt;br /&gt;
        0.011631889268755913,&lt;br /&gt;
        -0.008173760026693344,&lt;br /&gt;
        0.022239811718463898,&lt;br /&gt;
        -0.049940772354602814,&lt;br /&gt;
        0.02152124047279358,&lt;br /&gt;
        0.02723388932645321,&lt;br /&gt;
        0.025670994073152542,&lt;br /&gt;
        -0.0412101224064827,&lt;br /&gt;
        -0.017775682732462883,&lt;br /&gt;
        0.021323632448911667,&lt;br /&gt;
        -0.04634791240096092,&lt;br /&gt;
        -0.016581054776906967,&lt;br /&gt;
        0.00485036289319396,&lt;br /&gt;
        -0.02852731943130493,&lt;br /&gt;
        0.0396292619407177,&lt;br /&gt;
        -0.008798019029200077,&lt;br /&gt;
        0.029533321037888527,&lt;br /&gt;
        -0.04031190648674965,&lt;br /&gt;
        0.041497550904750824,&lt;br /&gt;
        -0.014425338245928288,&lt;br /&gt;
        -0.04189276322722435,&lt;br /&gt;
        -0.024108100682497025,&lt;br /&gt;
        0.0443718396127224,&lt;br /&gt;
        0.0019120759097859263,&lt;br /&gt;
        0.049401845782995224,&lt;br /&gt;
        0.09276768565177917,&lt;br /&gt;
        -0.0035546873696148396,&lt;br /&gt;
        0.019850559532642365,&lt;br /&gt;
        0.0077560897916555405,&lt;br /&gt;
        0.004935693461447954,&lt;br /&gt;
        0.013859462924301624,&lt;br /&gt;
        -0.045449696481227875,&lt;br /&gt;
        -0.008595921099185944,&lt;br /&gt;
        -0.004107089713215828,&lt;br /&gt;
        -0.003976848442107439,&lt;br /&gt;
        0.00299554830417037,&lt;br /&gt;
        -0.020946381613612175,&lt;br /&gt;
        -0.028688998892903328,&lt;br /&gt;
        0.00808842945843935,&lt;br /&gt;
        -0.007648303639143705,&lt;br /&gt;
        -0.054216280579566956,&lt;br /&gt;
        -0.018754737451672554,&lt;br /&gt;
        0.039305903017520905,&lt;br /&gt;
        0.04882698506116867,&lt;br /&gt;
        -0.007715669926255941,&lt;br /&gt;
        -0.001061578281223774,&lt;br /&gt;
        -0.015081035904586315,&lt;br /&gt;
        0.0022320651914924383,&lt;br /&gt;
        0.01709303818643093,&lt;br /&gt;
        -0.011281585320830345,&lt;br /&gt;
        0.04311433807015419,&lt;br /&gt;
        0.01380557008087635,&lt;br /&gt;
        0.01291633676737547,&lt;br /&gt;
        0.006907275877892971,&lt;br /&gt;
        0.0006388556794263422,&lt;br /&gt;
        -0.005227613262832165,&lt;br /&gt;
        -0.03251539543271065,&lt;br /&gt;
        0.025329673662781715,&lt;br /&gt;
        -0.002694646129384637,&lt;br /&gt;
        0.02694646082818508,&lt;br /&gt;
        -0.003770258976146579,&lt;br /&gt;
        0.024539243429899216,&lt;br /&gt;
        0.004311433527618647,&lt;br /&gt;
        -0.040347833186388016,&lt;br /&gt;
        0.044479623436927795,&lt;br /&gt;
        -0.019167914986610413,&lt;br /&gt;
        0.03021596558392048,&lt;br /&gt;
        0.002122033853083849,&lt;br /&gt;
        0.010221690870821476,&lt;br /&gt;
        0.04735391214489937,&lt;br /&gt;
        0.013455266132950783,&lt;br /&gt;
        0.018134968355298042,&lt;br /&gt;
        -0.019131986424326897,&lt;br /&gt;
        -0.022778742015361786,&lt;br /&gt;
        0.018395449966192245,&lt;br /&gt;
        -0.0014000931987538934,&lt;br /&gt;
        0.012943283654749393,&lt;br /&gt;
        -0.021341597661376,&lt;br /&gt;
        -0.014389409683644772,&lt;br /&gt;
        0.003449146868661046,&lt;br /&gt;
        -0.029209963977336884,&lt;br /&gt;
        0.03479686379432678,&lt;br /&gt;
        -0.009440243244171143,&lt;br /&gt;
        -0.03120400197803974,&lt;br /&gt;
        0.003074142150580883,&lt;br /&gt;
        0.04207240790128708,&lt;br /&gt;
        0.0039005002472549677,&lt;br /&gt;
        0.01904216594994068,&lt;br /&gt;
        0.001541562145575881,&lt;br /&gt;
        -0.026802746579051018,&lt;br /&gt;
        -0.02870696224272251,&lt;br /&gt;
        0.0019019710598513484,&lt;br /&gt;
        -0.022778742015361786,&lt;br /&gt;
        -0.004926711320877075,&lt;br /&gt;
        -0.037725046277046204,&lt;br /&gt;
        -0.0679769366979599,&lt;br /&gt;
        0.003931937739253044,&lt;br /&gt;
        -0.015584036707878113,&lt;br /&gt;
        -0.026659032329916954,&lt;br /&gt;
        -0.04300655052065849,&lt;br /&gt;
        -0.051162347197532654,&lt;br /&gt;
        -0.013275623321533203,&lt;br /&gt;
        -0.01733555644750595,&lt;br /&gt;
        0.0459526963531971,&lt;br /&gt;
        0.010176779702305794,&lt;br /&gt;
        0.06937815248966217,&lt;br /&gt;
        0.08766581863164902,&lt;br /&gt;
        0.020964346826076508,&lt;br /&gt;
        0.06104271486401558,&lt;br /&gt;
        0.04178497940301895,&lt;br /&gt;
        0.023748813197016716,&lt;br /&gt;
        -0.0330902524292469,&lt;br /&gt;
        0.03355732560157776,&lt;br /&gt;
        -0.030198000371456146,&lt;br /&gt;
        -0.011613924987614155,&lt;br /&gt;
        0.018090058118104935&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;usage&amp;quot;: {&lt;br /&gt;
    &amp;quot;prompt_tokens&amp;quot;: 14,&lt;br /&gt;
    &amp;quot;total_tokens&amp;quot;: 14,&lt;br /&gt;
    &amp;quot;completion_tokens&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;prompt_tokens_details&amp;quot;: null&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AI on demand]]&lt;/div&gt;</summary>
		<author><name>Sst-yde</name></author>
	</entry>
</feed>