Создание собственного репозитория шаблонов ОС

Материал из ISPWiki
Перейти к: навигация, поиск

Иерархия: VMmanager KVM -> Шаблоны операционных систем
VMmanager Cloud -> Шаблоны операционных систем
VMmanager OVZ -> Шаблоны операционных систем
DCImanager -> Шаблоны операционных систем
DCImanager Enterprise -> Шаблоны операционных систем

Содержимое репозитория

Директория на сервере, используемая в качестве репозитория, должна содержать следующие файлы:

  • Файл metadata.xml - основной файл описания репозитория. Используется для получения информации о шаблонах;
  • Файлы с архивами шаблонов в формате tar.gz, включающие в себя также файл описания шаблона metainfo.xml.
    Для шаблонов для VMmanager-OVZ, архив не должен включать описание (так как это стандартный OpenVZ шаблон, и может находится в произвольном месте (указывается в metadata.xml).


Содержимое файла metadata.xml

Metadata.xml — XML-файл, содержащий в себе элементы elem на каждый шаблон. Каждый элемент elem содержит упрощённое описание из metainfo.xml от самого шаблона (за исключением шаблонов для VMmanager-OVZ). Для шаблонов VMmanager-OVZ у элемента elem должен быть установлен атрибут create-metainfo="yes".

Необходимые элементы внутри элемента elem:

  • Элемент osname - имя шаблона;
  • Элемент support - группа эелментов elem с именам программных продуктов, для которых подходит этот шаблон;
  • Элемент tags - теги шаблона;
  • Элемент version - версия шаблонного API, требуемая для этого шаблона;
  • Элемент type - тип шаблона (только для DCImanager, может принимать значения: ostemplate, diag, rescue, serversearch);
  • Элемент filename - имя файла шаблона (только для VMmanager и DCImanager);
  • Элемент externals - Только для шаблонов VMmanager-OVZ. Элемент, содержащий элемент elem, который, в свою очередь содержит элемент url. Внутри элемента url содержится ссылка на архив в стандартном для OpenVZ формате;
  • Элемент utcmtime - время модификации шаблона.

Пример файла metadata.xml:

<?xml version="1.0" encoding="utf-8"?>
<doc>
  <elem>
    <osname>FreeBSD-9-amd64</osname>
    <support>
      <elem>VMmgr</elem>
      <elem>DCImgr</elem>
    </support>
    <tags>freebsd,unix,freebsd9</tags>
    <version>5.57</version>
    <type>ostemplate</type>
    <filename>FreeBSD-9-amd64-5.57.tar.gz</filename>
    <utcmtime>2016-12-27 05:12:25</utcmtime>
  </elem>
  <elem create-metainfo="yes">
    <osname>Ubuntu-16.04-x86_64</osname>
    <support>
      <elem>VEmgr</elem>
    </support>
    <tags>ubuntu,linux,unix,ubuntu1604,xenial</tags>
    <version>5</version>
    <externals>
      <elem>
        <url>http://mirror.yandex.ru/mirrors/download.openvz.org/template/precreated/ubuntu-16.04-x86_64.tar.gz</url>
      </elem>
    </externals>
    <utcmtime>2016-11-27 05:08:59</utcmtime>
  </elem>
    <osname>Windows-Server-2008-R2</osname>
    <support>
      <elem>VMmgr</elem>
    </support>
    <tags>windows,windows2008r2</tags>
    <version>5</version>
    <type>ostemplate</type>
    <filename>Windows-Server-2008-R2-Web.tar.gz</filename>
    <utcmtime>2016-07-14 03:48:32</utcmtime>
  </elem>
  <elem>
    <osname>Windows Server 2012 R2 Clean</osname>
    <support>
      <elem>DCImgr</elem>
    </support>
    <tags>windows,windows2012r2</tags>
    <version>5</version>
    <type>ostemplate</type>
    <filename>WindowsServer-2012-R2-Clean.tar.gz</filename>
    <utcmtime>2016-08-23 04:58:23</utcmtime>
  </elem>
  <elem>
    <osname>CentOS-7-amd64</osname>
    <support>
      <elem>VMmgr</elem>
      <elem>DCImgr</elem>
    </support>
    <tags>centos,linux,unix,centos7</tags>
    <version>5.57</version>
    <type>ostemplate</type>
    <filename>CentOS-7-amd64-5.57.tar.gz</filename>
    <utcmtime>2016-12-27 06:44:33</utcmtime>
  </elem>
</doc>