Code Monkey home page Code Monkey logo

irac's Introduction

GitHub release GitHub license GitHub Releases GitHub All Releases Build Status Quality Gate Coverage Tech debt

Checked by Silver Bulleters SonarQube BSL plugin

Библиотека управления кластером 1С

Назначение

Библиотека (oscript) irac предоставляет интерфейс управления кластером серверов 1С:Предприятие 8 с использованием утилиты администрирования кластера (RAC).

Принцип работы

Библиотека подключается, как отдельный класс и используется для вызова команд утилиты RAC для взаимодействия с одним экземпляром сервера администрирования кластера 1С.

Используемая кодировка

В некоторых случаях консольная утилита RAC может выводить результат в некорректной кодировке.

Для указания кодировки можно использовать переменную среды RAC_ENCODING. Возможные значения OEM, ANSI, UTF8. По умолчанию используется кодировка UTF8.

В известных случаях для Windows проблему устраняет установка кодировки в значение OEM.

Пример получения списка кластеров, параметров серверов и информационных баз

#Использовать irac
Админ = Новый Структура();
Админ.Вставить("Администратор", "admin");
Админ.Вставить("Пароль", "P@$$w0rd");

Админка = Новый УправлениеКластером1С("8.3", "localhost:1545", Админ);

Кластеры = Админка.Кластеры();

// Обходим список кластеров
Для Каждого Кластер Из Кластеры.Список() Цикл
    Сообщить(Кластер.Получить("Имя"));
КонецЦикла;

// Кластер.УстановитьАдминистратора("<admin>", "<pwd>"); // - указывается если задан администратор кластера

Серверы = Кластер.Серверы();

// Обходим список серверов
Для Каждого Сервер Из Серверы.Список() Цикл

    Сообщить(Сервер.Имя() + " (" + Сервер.АдресСервера() + ":" + Сервер.ПортСервера() + ")");

    Для Каждого ТекАтрибут Из Серверы.ПараметрыОбъекта().ОписаниеСвойств() Цикл
        Сообщить(ТекАтрибут.Ключ + " : " + Сервер.Получить(ТекАтрибут.Значение.Имя));
    КонецЦикла;

КонецЦикла;

ИБ = Кластер.ИнформационныеБазы();

Сообщить("Всего ИБ: " + ИБ.Список().Количество());

// Обходим список информационных баз
Для Каждого ТекИБ Из ИБ.Список() Цикл

    Сообщить(ТекИБ.Имя() + " (" + ?(ТекИБ.ПолноеОписание(), "Полное", "Сокращенное") + " " + ТекИБ.Описание() + ")");

    Для Каждого ТекАтрибут Из ИБ.ПараметрыОбъекта().ОписаниеСвойств() Цикл
        Сообщить(ТекАтрибут.Ключ + " : " + ТекИБ.Получить(ТекАтрибут.Значение.Имя));
    КонецЦикла;

КонецЦикла;

Пример блокировки/разблокировки сеансов в информационной базе

#Использовать irac

Админ = Новый Структура("Администратор, Пароль", "agentAdmin", "P@$$w0rd");
Управление = Новый УправлениеКластером1С("8.3", "localhost:1545", Админ);

Кластер = Управление.Кластеры().Список()[0];
Кластер.УстановитьАдминистратора("clusterAdmin", "P@$$w0rd");

// Получение ИБ по имени
ИБ = Кластер.ИнформационныеБазы().Получить("MyAwesomeDatabase");
ИБ.УстановитьАдминистратора("Администратор", "P@$$w0rd");

// Установка блокировки начала сеансов с базой
ПараметрыИБ = Новый Структура();
ПараметрыИБ.Вставить("НачалоБлокировкиСеансов"   , Дата(20010101));
ПараметрыИБ.Вставить("ОкончаниеБлокировкиСеансов", Дата(20991231));
ПараметрыИБ.Вставить("СообщениеБлокировкиСеансов", "База заблокирована до особых распоряжений");
ПараметрыИБ.Вставить("КодРазрешения"             , "SuperSecretKey");
ПараметрыИБ.Вставить("БлокировкаСеансовВключена" , Перечисления.СостоянияВыключателя.Включено);

ИБ.Изменить(ПараметрыИБ);

// Снятие блокировки начала сеансов с базой
ПараметрыИБ = Новый Структура();
ПараметрыИБ.Вставить("БлокировкаСеансовВключена" , Перечисления.СостоянияВыключателя.Выключено);

ИБ.Изменить(ПараметрыИБ);

Пример блокировки/разблокировки регламентных заданий в информационной базе

#Использовать irac

Админ = Новый Структура("Администратор, Пароль", "agentAdmin", "P@$$w0rd");
Управление = Новый УправлениеКластером1С("8.3", "localhost:1545", Админ);

Кластер.УстановитьАдминистратора("clusterAdmin", "P@$$w0rd");

// Получение ИБ по имени
ИБ = Кластер.ИнформационныеБазы().Получить("MyAwesomeDatabase");
ИБ.УстановитьАдминистратора("Администратор", "P@$$w0rd");

// Установка блокировки регламентных заданий
ПараметрыИБ = Новый Структура();
ПараметрыИБ.Вставить("БлокировкаРегламентныхЗаданийВключена" , Перечисления.СостоянияВыключателя.Включено);

ИБ.Изменить(ПараметрыИБ);
// Снятие блокировки регламентных заданий
ПараметрыИБ = Новый Структура();
ПараметрыИБ.Вставить("БлокировкаРегламентныхЗаданийВключена" , Перечисления.СостоянияВыключателя.Выключено);

ИБ.Изменить(ПараметрыИБ);

Структура основных объектов

УправлениеКластером1С

    |-Администраторы
    |-Кластеры
        |-Администраторы
        |-МенеджерыКластера
        |-Серверы
        |   |-ТребованияНазначения
        |-РабочиеПроцессы
        |   |-Лицензии
        |-ИнформационныеБазы
        |-Сервисы
        |-Сеансы
        |-Соединения
        |   |-Лицензии
        |-Блокировки
        |-ПрофилиБезопасности
        |-СчетчикиПотребленияРесурсов

Объекты и методы

УправлениеКластером1С

Основной класс библиотеки. Предоставляет интерфейс управления серверами 1С.

    Админ = Новый Структура("Администратор, Пароль", "admin", "P@ssw0rd")
    УправлениеКластером = Новый УправлениеКластером1С("8.3.10", "localhost:1545", Админ);
Параметры конструктора
ВерсияИлиПутьКRAC Строка маска версии 1С или путь к утилите RAC
СтрокаПодключенияСервиса Строка адрес:порт сервиса агента администрирования (RAS) (по умолчанию: "localhost:1545")
Администратор Структура параметры администратора агента сервера 1С
   - Администратор    Строка    имя администратора агента сервера 1С
   - Пароль    Строка    пароль администратора агента сервера 1С
Методы
СтрокаПодключения() Строка возвращает строку параметров подключения к агенту администрирования (RAS)
СтрокаАвторизации() Строка возвращает строку параметров авторизации на агенте кластера 1С
УстановитьАдминистратора(Администратор, Пароль) устанавливает параметры авторизации на агенте кластера 1С
ИсполнительКоманд() ИсполнительКоманд возвращает текущий объект-исполнитель команд
УстановитьИсполнительКоманд(НовыйИсполнитель) устанавливает объект-исполнитель команд
ОписаниеПодключения() Строка возвращает строку описания подключения к серверу администрирования кластера 1С
Администраторы() АдминистраторыАгента возвращает список администраторов агента кластера 1С
Кластеры() Кластеры возвращает список кластеров 1С
ВыполнитьКоманду(ПараметрыКоманды) Число передает команду в объект-исполнитель команды и возвращает код возврата команды
ВыводКоманды() Массив(Соответствие) возвращает вывод команды из объекта-исполнитель команд

ИсполнительКоманд

Вспомогательный объект для выполнения команд. Непосредственно вызывает утилиту RAC.

    Админ = Новый Структура("Администратор, Пароль", "admin", "P@ssw0rd")
    УправлениеКластером = Новый УправлениеКластером1С("8.3.10", "localhost:1545", Админ);
    УправлениеКластером.УстановитьИсполнительКоманд(Новый ИсполнительКоманд("8.3"));
Параметры конструктора
ВерсияИлиПутьКRAC Строка маска версии 1С или путь к утилите RAC
Методы
ВерсияRAC() Строка возвращает версию утилиты RAC
ПутьКRAC() Строка возвращает путь к утилите RAC
УстановитьПутьКRAC(Путь) устанавливает переданный путь к утилите RAC
ВыполнитьКоманду(ПараметрыКоманды) Массив(Соответствие) выполняет команду и возвращает код возврата
ВыводКоманды(РазобратьВывод) Строка/Массив(Соответствие) возвращает вывод команды
КодВозврата() Число возвращает код возврата выполнения команды

Кластеры

Объект предоставляет доступ к списку кластеров, доступных для администрирования.

    Админ = Новый Структура("Администратор, Пароль", "admin", "P@ssw0rd")
    УправлениеКластером = Новый УправлениеКластером1С("8.3.10", "localhost:1545", Админ);
    СписокКластеров = Новый Кластеры(УправлениеКластером);
    Админ = Новый Структура("Администратор, Пароль", "admin", "P@ssw0rd")
    УправлениеКластером = Новый УправлениеКластером1С("8.3.10", "localhost:1545", Админ);
    СписокКластеров = УправлениеКластером.Кластеры();
Параметры конструктора
АгентКластера УправлениеКластером1С ссылка на родительский объект агент кластера
Методы
ОбновитьДанные(РежимОбновления) обновляет список кластеров вызывая утилиту RAC
ПараметрыОбъекта() Соответствие список параметров объекта кластера
Список(Отбор, РежимОбновления) возвращает список кластеров, соответствующих отбору
ВыполнитьКоманду(ПараметрыКоманды) Массив(Соответствие) выполняет команду и возвращает код возврата
ВыводКоманды(РазобратьВывод) Строка/Массив(Соответствие) возвращает вывод команды
КодВозврата() Число возвращает код возврата выполнения команды

irac's People

Contributors

arkuznetsov avatar asosnoviy avatar evilbeaver avatar evsamigulin avatar kav23 avatar otymko avatar ripreal avatar thedemoncat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

irac's Issues

Взаимодействие с RAS при выполнении методов объектов irac может завершаться с ошибкой, но это никак не отследить

При выполнении, например, ИнформационнаяБаза.ОбновитьДанные(1);
происходит обращение к RAS, которое завершается ошибкой, в консоль при этом выводится
ПРЕДУПРЕЖДЕНИЕ - Получен ненулевой код возврата -1:
При этом сам метод выполняется и нет возможности понять, что фактически обновления данных не произошло, т.е. ошибка взаимодействия с RAS не прокидывается дальше.

Реализовать доступность объектов, полей, команд в зависимости от версии совместимости.

В файле описания типов объектов кластера есть свойство объектов, полей, команд "МинВерсия". Нужно реализовать проверку версии rac/ras и проверку доступности объектов, полей, команд в зависимости от версии.

Неправильный порядок параметров команды при попытке изменения настроек кластера

Простой скрипт не отрабатывает, rac выдает ошибку.
Скрипт:

Админ = Новый Структура();
Админ.Вставить("Администратор", "Былинкин");
Админ.Вставить("Пароль", "12345");

Админка = Новый УправлениеКластером1С("8.3", "localhost:1545", Админ);

Кластеры = Админка.Кластеры();

Для Каждого Кластер Из Кластеры.Список() Цикл
НовыеПараметры = Новый Структура;
НовыеПараметры.Вставить("ИнтервалПерезапуска", 0);
Кластер.Изменить(, НовыеПараметры);
КонецЦикла;

Вывод в консоли:
ПРЕДУПРЕЖДЕНИЕ - Получен ненулевой код возврата -1: Ошибка разбора параметра: --agent-user=Былинкин

Дебаг показывает, что командная строка, передающаяся на исполнение, выглядит так:
rac.exe localhost:1545 cluster --agent-user="Былинкин" --agent-pwd="12345" update --cluster=21ae8194-fd40-453b-81b8-bc58fb99463c --lifetime-limit=0

Но это неправильно, правильно будет изменить порядок:
rac.exe localhost:1545 cluster update --agent-user="Былинкин" --agent-pwd="12345" --cluster=21ae8194-fd40-453b-81b8-bc58fb99463c --lifetime-limit=0

То есть нужно cluster update вместе, только потом список параметров.

В этом случае команда, запущенная вручную из консоли отрабатывает корректно.

Вылезает иногда такое Предупрежедние

ПРЕДУПРЕЖДЕНИЕ - Не удалось прочитать версию 1С "C:\Program Files (x86)\1cv8\8.3.12.1790\bin\rac.exe" -v .
{Модуль C:\Program Files (x86)\OneScript\lib\asserts\src\bdd-asserts.os / Ошибка в строке: 336 / [Failed] Ожидали, что проверяемое значение (-1073741819) БОЛЬШЕ ИЛИ РАВНО (0).
Ожидали, что код возврата <-1073741819> команды <"C:\Program Files (x86)\1cv8\8.3.12.1790\bin\rac.exe" -v > совпадет с ожидаемым <0>, а это не так!
Лог команды:
8.3.12.1790
, вывод 8.3.12.1790
Стек трейс:
C:\Program Files (x86)\OneScript\lib\asserts\src\bdd-asserts.os / Метод БольшеИлиРавно / Строка 89
C:\Program Files (x86)\OneScript\lib\1commands\src\Команда.os / Метод ПроверитьКодВозврата / Строка 466
C:\Program Files (x86)\OneScript\lib\1commands\src\Команда.os / Метод ЗапуститьИПодождать / Строка 346
C:\Program Files (x86)\OneScript\lib\1commands\src\Команда.os / Метод Исполнить / Строка 34
C:\Program Files (x86)\OneScript\lib\irac\src\Классы\ИсполнительКоманд.os / Метод ПолучитьВерсиюУтилитыАдминистрирования / Строка 410
C:\Program Files (x86)\OneScript\lib\irac\src\Классы\ИсполнительКоманд.os / Метод ИнициализироватьУтилитуАдминистрирования / Строка 54
C:\Program Files (x86)\OneScript\lib\irac\src\Классы\ИсполнительКоманд.os / Метод ПриСозданииОбъекта / Строка 22
C:\Program Files (x86)\OneScript\lib\irac\src\Классы\АдминистрированиеКластера.os / Метод ПриСозданииОбъекта / Строка 31
C:\GIT_repozitories\git_1cAdminScripts\Кластреы моего локального сервера.os / Метод получитьДанныеСервреа / Строка 36
C:\GIT_repozitories\git_1cAdminScripts\Кластреы моего локального сервера.os / Метод $entry / Строка 80}

Непредвиденное поведение

Если попытаться заблокировать базу таким образом, то некоторые остальные свойства базы заполняет значениями по умолчанию. Например, сервер баз данных меняется на "localhost".

ДанныеЗаполнения = Новый Структура;
ДанныеЗаполнения.Вставить("НачалоБлокировкиСеансов", "2018-12-30T16:40:00");
ДанныеЗаполнения.Вставить("БлокировкаСеансовВключена", Истина);
База1с.Изменить(ДанныеЗаполнения);

Можно ли менять определённые свойства базы не указывая все свойства или так задумано?

Ошибка при выполнении команд с параметрами-флагами

При выполнении команд с параметрами-флагами к параметру добавляются лишние символы "--".

Например, выполняем:
Кластер.ИнформационныеБазы().Получить(ИмяИБ).Удалить("clear");

Получаем:

ОТЛАДКА - [oscript.lib.commands] - Полная строка запуска <"C:\Program Files\1Cv8\8.3.18.1289\bin\rac.exe" ubuntu-interactive-1:1545 infobase --cluster=77fe4b8b-999a-437c-98e9-11b70a2475e5 drop --infobase=e14ccefa-887a-4ca4-bd7c-6ac60dca54c7 --infobase-user="Админ" --infobase-pwd="123" ----clear-database>

ПРЕДУПРЕЖДЕНИЕ - Получен ненулевой код возврата -1: Ошибка разбора параметра: ----clear-database

Не срабатывает заполнение параметра БлокировкаСеансовВключена

При заполнении параметра не срабатывает ни на Истина, ни на Ложь
Код как из примера:

ПараметрыИБ = Новый Структура();
ПараметрыИБ.Вставить("НачалоБлокировкиСеансов", ДатаНачалаБлокировки);
ПараметрыИБ.Вставить("ОкончаниеБлокировкиСеансов", ДатаОкончанияБлокировки);
ПараметрыИБ.Вставить("СообщениеБлокировкиСеансов", СообщениеБлокировки);
ПараметрыИБ.Вставить("КодРазрешения", "654321");
ПараметрыИБ.Вставить("БлокировкаСеансовВключена", Истина);

ИБ.Изменить(ПараметрыИБ);

Ошибка при заполнении параметров базы

При попытке заполнить параметры базы аналогично примерам в readme.md вылезло 2 странных ошибки:

  1. Из всего сообщения ПараметрыИБ.Вставить("СообщениеБлокировкиСеансов", "База заблокирована для обновления. Плановое время завершения работ 23:30") в базе остаётся только первое слово - от длины не зависит - делал с нижним подчеркиванием, влезло всё.
  2. Дата берется 00:00 от указанной в ПараметрыИБ.Вставить("НачалоБлокировкиСеансов", ДатаНачалаБлокировки);
    дебагом смотрел - даты корректно рассчитываются. Пробовал строкой - та же ошибка.

Ошибка при создании объекта УправлениеКластером1С

	АдминистрированиеКластера = Новый УправлениеКластером1С(Init.Конф[Префикс+"cluster"]
		 , 1545, , Init.Конф[Префикс+"clusterUser"], Init.Конф[Префикс+"clusterPasswd"]);

вызывает ошибку:

{Модуль C:\1c\Process\01_DumpIB\module.os / Ошибка в строке: 31 / Параметры конструктора: необходимых параметров: 0, передано параметров 5}

версия irac 1.0.0

Upd:
Если передавать конструктору меньше 4х параметров, то ошибка другая (в комментариях переданные параметры):

C:\1c\Process>oscript 1.os // "obr-app-13", 1545, "8.3.15.1700"
{Модуль C:\Program Files\OneScript\lib\irac\src\Классы\ИсполнительКоманд.os / Ошибка в строке: 92 / Нельзя установить несуществующий путь к утилите RAC: C:\1c\Process\obr-app-13}

C:\1c\Process>oscript 1.os // "obr-app-13"
{Модуль C:\Program Files\OneScript\lib\irac\src\Классы\ИсполнительКоманд.os / Ошибка в строке: 92 / Нельзя установить несуществующий путь к утилите RAC: C:\1c\Process\obr-app-13}

C:\1c\Process>oscript 1.os // "localhost"
{Модуль C:\Program Files\OneScript\lib\irac\src\Классы\ИсполнительКоманд.os / Ошибка в строке: 92 / Нельзя установить несуществующий путь к утилите RAC: C:\1c\Process\localhost}

Создание новой базы скриптом

Добрый день!
Есть пример кода создания новой базы?
Какие методы использовать? Очевидные (для меня) варианты перебрал - не работает.

Не хватает описания как работать с объектом Сеансы

Подскажите пожалуйста, как правильно работать со списком сеансов? В демо-примере после строки

Для Каждого ТекИБ Из СписокИБ Цикл

добавляю СписокСеансов = ТекИБ.Сеансы();
и получаю "ПРЕДУПРЕЖДЕНИЕ - Получен ненулевой код возврата -1. Выполнение скрипта остановлено!".

Используется библиотека в пакете OneScript. В остальном демо-пример работает корректно.

Добавление базы в кластер

Есть вопрос. У метода Добавить класса ИнформационныеБазы есть параметр "СоздатьБазуСУБД", влияет ли этот параметр хоть на что-то? в макетах я не нашел определения поведения для этого параметра команды, и результирующая строка формируется без параметра "--create-database". Может я что-то делаю неправильно?

ИБ = Кластер.ИнформационныеБазы();

ПараметрыБазы = Новый Структура();

ПараметрыБазы.Вставить("АдресСервераСУБД", "localhost");
ПараметрыБазы.Вставить("ТипСУБД", "PostgreSQL");
ПараметрыБазы.Вставить("ИмяБазыСУБД", ИмяНовойБазы);
ПараметрыБазы.Вставить("ИмяПользователяБазыСУБД", "user");
ПараметрыБазы.Вставить("ПарольПользователяБазыСУБД", "userpwd");
ПараметрыБазы.Вставить("БлокировкаРегламентныхЗаданийВключена", "on");

Попытка
	ИБ.Добавить(ИмяНовойБазы,,Истина,ПараметрыБазы);
Исключение
	ВызватьИсключение ОписаниеОшибки();
КонецПопытки;

Конструктор не найден (АдминистрированиеКластера)

#use irac

Админка = Новый АдминистрированиеКластера("obr-app-13", 1545, "8.3");

Кластеры = Админка.Кластеры();

C:\1c\Process>oscript 1.os
{Модуль C:\1c\Process\1.os / Ошибка в строке: 3 / Конструктор не найден (АдминистрированиеКластера)}

пример из Readme.md не работает.

Upd:
пример из текущего Readme.md работает.
приведенный фрагмент скопирован из readme по ссылке из телеграм канала oscript, oscript-library, репозиторий oscript-library/irac

Параметры тестирования

Реализовать возможность запуска тестов с параметрами в зависимости от окружения. Например, для возможности включения/отключения использования моков.

travis поломался

Сонар сканер на трависе апнулся с 2.7 на 3.0.3 и теперь пристает с бранч плагином

ERROR: Error during SonarQube Scanner execution
ERROR: Validation of project reactor failed:
  o To use the property "sonar.branch.name", the branch plugin is required but not installed. See the documentation of branch support: https://redirect.sonarsource.com/doc/branches.html.
ERROR: 
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.

rac.exe запускается (открывается консоль), но ничего более не происходит

Знакомлюсь с данной библиотекой, создал пример:

#Использовать irac

Админка = Новый АдминистрированиеКластера("localhost", 1545, "8.3");
Кластеры = Админка.Кластеры();
// Обходим список кластеров
Для Каждого Кластер Из Кластеры.Список() Цикл
Сообщить(Кластер.Получить("Имя"));
КонецЦикла;

Порт, название, версию указал. Но получить список кластеров никак не получается. Сервак развернут локально на компе. Rac.exe открывается, но тупо висит и ничего не происходит

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

Script started: 16.07.2020 14:30:00
ПРЕДУПРЕЖДЕНИЕ - Получен ненулевой код возврата -1: Ошибка соединения с сервером
Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера

Script completed: 16.07.2020 14:30:21
Duration: 00:00:21.4732838

Должна ли библиотека irac работать по сети, когда сервер 1С расположен на другой машине?

Возвращаемые строки отдаются в кавычках

Различные строковые параметры кластера, например, имя админа, имя кластера и т.п. отдаются на уровень кода 1С обернутыми в кавычки.

Т.е. вместо кластера Локальный кластер возвращается "Локальный кластер"

Хранение параметров авторизации

  • Реализовать хранение данных авторизации для кластеров на уровне основного класса АдминистрированиеКластера
  • Реализовать хранение данных авторизации для ИБ на уровне основного класса Кластер

Медленное выполнение команды

Скажите пожалуйста, отчего может происходить медленное выполнение команды:

Кластер_Агент.ВыполнитьКоманду(ПараметрыЗапуска);

Параметры выполнения: "infobase" и "info" - получаем данные по базе (в моём случае флаг блокировки).

OneScript выполненяется на том же компьютере, что и сервер 1С и его сервер администрирования. Всё остальное не тормозит. 1С 8.3.10.2699, Windows server 2008 R2 Standart SP1.

авторизация управления кластером и на самих кластерах средствами os

В rac (для windows) у команды admin register есть возможность указать опцию --auth=os (или --auth=pwd,os), что позволяет авторизовываться на управлении кластерами и/или в кластерах средствами os.

Сейчас, насколько я понял, в irac всегда ставится по умолчанию --auth pwd.

Хочется подключаться к кластерам без указания креденшиалов, задав авторизацию средствами os.

Ошибка получения списка сервисов

Здравствуйте.

Для Каждого Кластер Из Кластеры.Список() Цикл
Кластер.УстановитьАдминистратора(ИмяПользователяRAS, ПарольПользователяRAS);
Сервисы = Кластер.Сервисы().ИерархическийСписок("Менеджер_Ид",,Истина);
КонецЦикла;

Получаю ошибку
{Модуль C:\Program Files\OneScript\lib\irac\src\Модули\Служебный.os / Ошибка в строке: 385 / Слишком много фактических параметров}

Цель получить данные ТНФ для некоторых серверов кластера, на отдельные сервера назначены ПП и ЖР сервисы.
Иногда слетают эти роли и хотелось бы получать актуальную информацию, кто выполняет указанные роли в текущий момент времени.

Ошибка сохранения описания базы

Добрый день!
После выполнения кода не сохраняется информация в поле описание (базы). Куда смотреть?

Описание = "Рабочая база Тест1 версии 3";

ПараметрыИБ = Новый Структура();
ПараметрыИБ.Вставить("Описание", Описание);

Попытка
ИБ.Изменить(ПараметрыИБ);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.