# Провайдер OpenStack

Данный тип сервис-провайдера предоставляет возможность публикации сервисов виртуальных рабочих столов с использованием платформы OpenStack.

OpenStack - платформа с открытым исходным кодом для создания и управления облачной инфраструктурой (IaaS), включая виртуальные машины, сети и хранилище.

## Создание сервис-провайдера <a href="#provider" id="provider"></a>

Для создания сервис-провайдера OpenStack зайдите в раздел "Сервисы", нажмите "Новый" и выберите тип провайдера OpenStack.

### Основные настройки <a href="#main" id="main"></a>

**Имя (Name)** — наименование создаваемого сервиса для отображения в системе.

**Удостоверение конечной точки (Identity endpoint)** — URL точки доступа API OpenStack Identity (Keystone).

**Интерфейс доступа** — используемый интерфейс доступа (public, private или admin).

**Домен (Domain)** — доменное имя для аутентификации (по умолчанию "Default").

**Имя пользователя (Username)** — имя пользователя с административными правами в OpenStack.

**Пароль (Password)** — пароль пользователя.

<figure><img src="https://raw.githubusercontent.com/hostco-ru/hostvm/master/.gitbook/assets/openstack1.png" alt=""><figcaption></figcaption></figure>

### Расширенные настройки <a href="#advanced" id="advanced"></a>

**Идентификатор проекта** — проект (арендатор) для этого провайдера (указывается при необходимости).

**Регион** — регион OpenStack для этого провайдера (указывается при необходимости).

**Имена подсетей** — если эта опция включена, вместо имён сетей будут использоваться имена подсетей.

**Одновременное создание (Creation Concurrency)** — количество одновременных задач создания рабочих столов.

**Одновременное удаление (Removal Concurrency)** — количество одновременных задач удаления рабочих столов.

**Прокси** — прокси-сервер, используемый для подключения к Azure для HTTPS-соединений ( в формате PROTOCOL://host:port, например <http://10.10.10.1:8080>).

**Таймаут** — максимальное время ожидания ответа от OpenStack (в секундах).

<figure><img src="https://raw.githubusercontent.com/hostco-ru/hostvm/master/.gitbook/assets/openstack2.png" alt=""><figcaption></figcaption></figure>

## Создание сервисов <a href="#services" id="services"></a>

После завершения настройки провайдера откройте его параметры с помощью двойного щелчка, перейдите на вкладку "Сервисы", нажмите "Новый" и выберите тип создаваемого сервиса:

* Действующий образ OpenStack (OpenStack Live Volume) - для публикации виртуальных рабочих столов на основе "золотого" образа.
* Фиксированные машины OpenStack (OpenStack Fixed Machines) - для подключения пользователей к существующим виртуальным машинам платформы виртуализации. *Данный тип сервиса доступен начиная с версии брокера 4.0.*

### Связанные клоны <a href="#linked-clones" id="linked-clones"></a>

#### Основные настройки <a href="#linked-main" id="linked-main"></a>

**Имя (Name)** - наименование создаваемого сервиса для отображения в системе.

**Регион (Region)** - регион для этого сервиса.

**Проект (Project)** - проект для этого сервиса.

**Доступные зоны (Availability Zones)** - зоны доступности для этого сервиса.

#### Машина <a href="#linked-machine" id="linked-machine"></a>

**Том (Volume)** - базовый том (ограничен зоной доступности), используемый брокером для развертывания виртуальных рабочих столов.

**Сети (Network)** - сеть, подключаемая к виртуальным рабочим столам.

**Шаблон OpenStack (Flavor)** - шаблон Openstack для сервиса (Flavor).

**Группа безопасности (Security Groups)** - группы безопасности для этого сервиса.

**Имена машин (Machine Names)** - базовое имя машины, используемое для создаваемых виртуальных рабочих столов.

**Длина имени (Name Length)** - размер числового суффикса, добавляемого к базовому имени машины.

### Фиксированные машины <a href="#fixed-machines" id="fixed-machines"></a>

> Данный тип сервиса доступен начиная с версии брокера 4.0.

#### Основные настройки <a href="#fixed-main" id="fixed-main"></a>

**Имя (Name)** - наименование создаваемого сервиса для отображения в системе.

**Токен сервиса (Service token)** - токен, используемый агентами для связи с сервисом (задается в виде произвольной последовательности букв и цифр). Если задано, брокер будет отслеживать "вход" и "выход" пользователя в сеанс ОС машины, и при выходе из сеанса автоматически освобождать машину, делая ее доступной для подключения другого пользователя. Если поле оставить пустым, машина будет оставаться постоянно закрепленной за пользователем (до ручного сброса администратором системы).

> Если поле `Токен сервиса` заполнено, на машины, заданные в качестве используемых сервисом, необходимо установить соответствующий агент VDI типа `Unmanaged`, и при его настройке задать такое же значение поля `Токен сервиса`, как и в настройках базового сервиса.

**Регион (Region)** - регион для этого сервиса.

**Проект (Project)** - проект для этого сервиса.

#### Машина <a href="#fixed-machine" id="fixed-machine"></a>

**Машины (Machines)** - виртуальные машины выбранного региона и проекта, предоставляемые пользователям данного сервиса. Отметьте нужные машины в списке.

#### Расширенные настройки <a href="#fixed-advanced" id="fixed-advanced"></a>

**Рандомизировать назначение машины (Randomize machine assignation)** - если включено, брокер будет назначать машины случайным образом вместо линейного.

**Оставлять при ошибке (Keep on error)** - если включено, при обнаружении ошибок доступа к машине она не будет переведена в статус "Ошибка".


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET http://localhost:3000/url/kb.pvhostvm.ru/hostvm-vdi/hostvm-vdi-admin-guide/service-providers/openstack.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
