forum.bitel.ru
http://forum.bitel.ru/

Альтернативный механизм обновления ситемы
http://forum.bitel.ru/viewtopic.php?f=22&t=7257
Страница 1 из 2

Автор:  max [ 28 сен 2012, 01:33 ]
Заголовок сообщения:  Альтернативный механизм обновления ситемы

Доброго времени суток!

Передо мной стоит вопрос обновления с версии 5.1 на 5.2, и вот что я тут подумал на эту тему:

Уважаемые разработчики, а почему бы вам не сделать возможность обновления путём конвертирования базы?
Рассмотрим ситуацию:
Имеется работающий сервер 5.1 с давнего времени (2009 год).
Берём и ставим на второй (альтернативный) сервер новую версию 5.2 с нуля.
Дампим базу 5.1.
Конвертим её при помощи волшебного конвертера пока которого нет, в 5.2.
Подсовываем её новому серверу 5.2.
Запускаем, наблюдаем, тестим, если всё ок. Остаёмся на новом сервере, старый сервер в резерв или ещё куда.
Если не ок, то просто продолжаем работать на старом, пишем на форум или в хелпдеск, о траблах.

Почему я прошу это сделать? Потому, что каждый раз обновление с версии на версию (4.6->5.0; 5.0->5.1) вызывало не кислые трудности, и никогда ещё не проходило с первого раза. А делать это приходится ночью и в нерабочее время, что отдельно доставляет. И по прошествии неудачного обновления приходится вертать всё в зад!

Описанный мною способ я считаю был бы более удобен и безопасен чем тот что есть сейчас.
Спасибо, надеюсь на поддержку сообщества.
Заранее спасибо.

Автор:  skn [ 28 сен 2012, 04:38 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

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

P.S. А для быстрого отката есть такая штука как snapshot :-)

Автор:  skyb [ 28 сен 2012, 05:03 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

Да, обновления с версии на версию страдают, и похорошему лучше бы было сделать поддержку младших версий, хотяб на одну ниже, тоесть обновление было бы что то в духе
./update.sh --ver --5.2
Обновляется сервак, бд, и тд. А после этого, то что уже нужно правишь, добавляешь и изменяешь, а не кучу всего фиксишь для обновления, и не факт что заведется.

Автор:  max [ 28 сен 2012, 14:21 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

skn писал(а):
по хорошему надо просто сначала сделать обновление на копии рабочей системы, убедиться, что все нормально, а затем повторить на боевой машине.

Ага тоесть получается что, что бы обновиться нужно сначала поставить с танцами старую версию (с танцами потому что FreeBSD) потом накатить на нё обновление, и опять танцевать....
Зачем танцы два раза?
Не проще ли конвертер? Это так сложно?

Автор:  skn [ 28 сен 2012, 14:39 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

max писал(а):
Не проще ли конвертер? Это так сложно?


так при запуске обновления и происходит конвертация базы и замена кода, смысл их разделять?
если вы на тестовой базе сделаете обновление, вы и получете обновленную базу.
что мешает на рабочей машине скопировать каталог с кодом, сделать копию базы и обновить копию, если все нормально, просто поменять их местами

Автор:  skyb [ 28 сен 2012, 16:52 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

skn писал(а):
max писал(а):
Не проще ли конвертер? Это так сложно?


так при запуске обновления и происходит конвертация базы и замена кода, смысл их разделять?
если вы на тестовой базе сделаете обновление, вы и получете обновленную базу.
что мешает на рабочей машине скопировать каталог с кодом, сделать копию базы и обновить копию, если все нормально, просто поменять их местами

а мое предложение?

Автор:  dimOn [ 28 сен 2012, 17:10 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

max писал(а):
skn писал(а):
по хорошему надо просто сначала сделать обновление на копии рабочей системы, убедиться, что все нормально, а затем повторить на боевой машине.

Ага тоесть получается что, что бы обновиться нужно сначала поставить с танцами старую версию (с танцами потому что FreeBSD) потом накатить на нё обновление, и опять танцевать....
Зачем танцы два раза?
Не проще ли конвертер? Это так сложно?

дык конвертер и так есть. хотя раз руками заставляли разве схему бд обновлять?

Автор:  skn [ 28 сен 2012, 18:41 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

skyb писал(а):
skn писал(а):
max писал(а):
Не проще ли конвертер? Это так сложно?


так при запуске обновления и происходит конвертация базы и замена кода, смысл их разделять?
если вы на тестовой базе сделаете обновление, вы и получете обновленную базу.
что мешает на рабочей машине скопировать каталог с кодом, сделать копию базы и обновить копию, если все нормально, просто поменять их местами

а мое предложение?


обновление на предыдующую версию?
типа удалять столбцы из баз, делать обратные конверторы данных, т.е. куча дополнительной работы (которую еще где то и на ком то тестить надо...) оно вам точно надо? не проще какую нибудь файловую систему поставить с поддержкой snatshot-ов, типа btrfs. Делать снимок перед перед обновлением, если что то не пошло, просто откатить (правда это в любом случае не отменяет предварительный прогон обновления на тестовой машине)

Автор:  max [ 29 сен 2012, 00:26 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

Ну так выложите отдельно конвертер и я от вас отстану! :)

Автор:  skn [ 29 сен 2012, 00:36 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

max писал(а):
Ну так выложите отдельно конвертер и я от вас отстану! :)


так в каждом модуле свой конвертор... т.е. вам надо 30 коверторов?
при этом не известно с какой версии идет обновление, т.е. конвертор должен быть интелектуальным, уметь разбираться что и как нужно обновлять и конвертировать.... т.е. нужна программа, которая сейчас и есть

в данный момент при обновление делается
1) конвертируется база
2) заменяется jar
3) заменяются файлы личного кабинета

и что тут делить?

1) сделали копию каталога с биллингом
2) запустили обновление
3) скопировали обратно каталог с биллингом
имеем конвертированную базу и старые файлы.... вам это надо?

Автор:  skyb [ 29 сен 2012, 06:26 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

skn писал(а):
skyb писал(а):
skn писал(а):
max писал(а):
Не проще ли конвертер? Это так сложно?


так при запуске обновления и происходит конвертация базы и замена кода, смысл их разделять?
если вы на тестовой базе сделаете обновление, вы и получете обновленную базу.
что мешает на рабочей машине скопировать каталог с кодом, сделать копию базы и обновить копию, если все нормально, просто поменять их местами

а мое предложение?


обновление на предыдующую версию?

Прочтите что я написал, не обновление на предидущую версию, а поддержка старой при обновлении...чтоб просто апдейт и все работает, потом уже донастраивать изменения

Автор:  skn [ 29 сен 2012, 11:12 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

skyb писал(а):
skn писал(а):
skyb писал(а):
а мое предложение?


обновление на предыдующую версию?

Прочтите что я написал, не обновление на предидущую версию, а поддержка старой при обновлении...чтоб просто апдейт и все работает, потом уже донастраивать изменения


перечитал, несколько раз, но так и не понял, что значит "лучше бы было сделать поддержку младших версий", текущая 5.2, младшая 5.1?

Автор:  skyb [ 29 сен 2012, 11:32 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

skn писал(а):
skyb писал(а):
skn писал(а):
skyb писал(а):
а мое предложение?


обновление на предыдующую версию?

Прочтите что я написал, не обновление на предидущую версию, а поддержка старой при обновлении...чтоб просто апдейт и все работает, потом уже донастраивать изменения


перечитал, несколько раз, но так и не понял, что значит "лучше бы было сделать поддержку младших версий", текущая 5.2, младшая 5.1?

да, тоесть обновление - это просто команда ./update.sh --ver --5.2 меняются либы, бд и тд, но настройки остаются теже, после обновления все работает так же как и работало на предидущей версии, без изменений, единственное что можно слать алармы о дебрикейтах, но все должно работать, и потом уже в рабочем режиме менять настройки и смотреть вкусности новой версии.

Автор:  skn [ 29 сен 2012, 14:27 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

странно,
а какие настройки мы меняем при обновление? расскажите, а то я, что то не в курсе....
и как это вы себе представляете, код поменялся, но все работает также... (нафига его тогда менять то было?)

Автор:  skyb [ 30 сен 2012, 03:40 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

http://bgbilling.ru/v5.2/download/kernel/howto.txt
тут далеко не ./update.sh --ver --5.2

Автор:  Phricker [ 30 сен 2012, 14:52 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

skyb писал(а):
http://bgbilling.ru/v5.2/download/kernel/howto.txt
тут далеко не ./update.sh --ver --5.2

ты бы еще сюда приплел что подревнее :D
Неоднократно тут на форуме говорилось что лучше и проще обновляться по версиям. 4.6 - 5.0 - 5.1 - 5.2
А обновления между версиями все таки попроще будут http://bgbilling.ru/v5.2/download/kerne ... om_5.1.txt

Ну и конечно как ты себе представляешь поддержку биллинга если он в своем коде будет учитывать все нюансы конфигураций которые уже не поддерживаются?
Например в 5.1 не было нужды указывать перечень статусов. Т.е. биллинг должен учитывать если версия >= 5.2 то работать с новыми статусами договоров перечень которых описан в конфигурации биллинга, но если этот перечень не указан - буду работать по старому. и это лишь малая часть :) (я не говорю о том, что следуя вашей логике необходимо учитывать 5.0, 4.6 и т.д., ведь не все обновляются с 5.1 до 5.2 сразу же)

Вон тот же гугл вырезает поддержку устаревших форматов .doc .xls и т.п. чтобы не мучаться с новыми фишками которые они наверняка планируют.
А я почему то не сомневаюсь что в команде гугла разработчиков поболее чем в бителе, и они могли бы тащить эту поддержку. но не хотят.

Автор:  skyb [ 30 сен 2012, 15:43 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

И обновления там не такие критические, я версии ОС обновляю менее болезнено, кстати почти через команду апдейт

Автор:  zavndw [ 30 сен 2012, 16:00 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

по мне так лучше без фиксов получалось бы обновление=) просто запустил обновление и все=)

Автор:  Phricker [ 30 сен 2012, 16:49 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

zavndw писал(а):
по мне так лучше без фиксов получалось бы обновление=) просто запустил обновление и все=)

Я какбэ тоже за то чтобы обновление выполнялось без необходимости что-то где-то править, но ведь обновление не будет за вас прописывать параметры в конфигурации модулей/сервера.
Так же оно не скачает и не поставит для вас радиусы/коллекторы и не пропишет в их конфигурационные файлы то что необходимо.
я бы вот тоже согласился бы на
Код:
apt-get (yum) install mysql-server,mysql-client, oracle-jdk, bgbilling-server, bgbilling-scheduler, bgbilling-dataloader, bgipncollector, bgradiusdialup
:lol:

Автор:  skyb [ 30 сен 2012, 17:31 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

Phricker писал(а):
Я какбэ тоже за то чтобы обновление выполнялось без необходимости что-то где-то править, но ведь обновление не будет за вас прописывать параметры в конфигурации модулей/сервера.
Так же оно не скачает и не поставит для вас радиусы/коллекторы и не пропишет в их конфигурационные файлы то что необходимо.

Тада расскажи мне как это работает? почему они тада тянуть все настройки? тот же мускул, потом тока дебрикейты выдает и новые фичи показыват, НО РАБОТАЕТ, чем тут хуже?

Автор:  skn [ 30 сен 2012, 20:16 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

skyb писал(а):
Тада расскажи мне как это работает? почему они тада тянуть все настройки? тот же мускул, потом тока дебрикейты выдает и новые фичи показыват, НО РАБОТАЕТ, чем тут хуже?
это разные продукты и орентированны на разные группы потребителей. Мускл стоит у миллионов и не все из них являются высоко клалифицированными пользователями, поэтому и приходится орентироваться на них. Наш продукт не орентирован на домохозяек и кол-во пользователей далеко не миллионы, поэтому тащить совместимость со старыми версиями и тратить время на разработку ИНТЕЛЕКТУАЛЬНЫХ мастеров конвертации данных не вижу смысла. К тому же в отличие от mysql у нас практически нет двух клиентов имеющих одинаковые конфигурации системы (железо, схемы сети, тарифы, бизнес процессы и т.д.) и теперь сравните с конфигом mysql из 10 строк.

В принципе в любой более менее крупной организации работа админа в том и состоит, что бы проверять насколько новые версии программы соовместимы с другим ПО и действующими бизнес процессами. ПРичем все это проверяется не на боевых машинах и не пять минут, у админа в каждой организации должен быть свой "чек лист" в который должны вноситься все изменения которые производятся в настройках ПО. Что то я сильно совмеваюсь, что в какой нибудь фирме типа yandex, админ ночью на боевых серверах запускает "yum update mysql" и спокойно уходит до дому.

Автор:  zavndw [ 01 окт 2012, 04:21 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

Phricker у меня на работе напарник собрал пакеты=) БГ. правда билд уже старенький и пакет только под линукс

Автор:  skyb [ 01 окт 2012, 06:02 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

skn писал(а):
skyb писал(а):
Тада расскажи мне как это работает? почему они тада тянуть все настройки? тот же мускул, потом тока дебрикейты выдает и новые фичи показыват, НО РАБОТАЕТ, чем тут хуже?
это разные продукты и орентированны на разные группы потребителей. Мускл стоит у миллионов и не все из них являются высоко клалифицированными пользователями, поэтому и приходится орентироваться на них. Наш продукт не орентирован на домохозяек и кол-во пользователей далеко не миллионы, поэтому тащить совместимость со старыми версиями и тратить время на разработку ИНТЕЛЕКТУАЛЬНЫХ мастеров конвертации данных не вижу смысла. К тому же в отличие от mysql у нас практически нет двух клиентов имеющих одинаковые конфигурации системы (железо, схемы сети, тарифы, бизнес процессы и т.д.) и теперь сравните с конфигом mysql из 10 строк.

В принципе в любой более менее крупной организации работа админа в том и состоит, что бы проверять насколько новые версии программы соовместимы с другим ПО и действующими бизнес процессами. ПРичем все это проверяется не на боевых машинах и не пять минут, у админа в каждой организации должен быть свой "чек лист" в который должны вноситься все изменения которые производятся в настройках ПО. Что то я сильно совмеваюсь, что в какой нибудь фирме типа yandex, админ ночью на боевых серверах запускает "yum update mysql" и спокойно уходит до дому.

Проблема то не в чек листе, я чтоб обновится на 5.2 наверное все на тесте гонял месяца 3, потом обновления встали сразу, правда потратил на это 6 часов ночью, с 12 до 6. Но речь то не про это, проблема в том что из версии к весии обновления все страшней и страшней становятся, чтоб обновиться так с бубном понаплясаться нада. .... Эм, и да, а владение мускулом теперь домохозяйки освоили ? :-D

Автор:  Phricker [ 01 окт 2012, 09:57 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

skyb писал(а):
Проблема то не в чек листе, я чтоб обновится на 5.2 наверное все на тесте гонял месяца 3, потом обновления встали сразу, правда потратил на это 6 часов ночью

Фью.
Я с 5.0 до 5.1 обновлялся (тогда еще не было у меня скриптов) так: раза 3-4 обновлял тестовую машину на которой поднимал полную копию боевого.
Потом вышел ночью. примерно за полтора часа поменял сервер (железо) плюс его обновил прямо по пунктам которые запомнил :)

Но все таки ничто не устоит перед обновлением с 5.1 на 5.2 30 декабря 2011 года :D
Во время обновления упал фтп. обновление сервера прошло а радиуса и прочего нет.
помоему я как раз у тебя и брал либы для радиуса )))
И потом патрулирование сервера 31 декабря с 9 вечера до 3х ночи 1го января потому что оказывается 5.2 чуть больше жрет на мускуле, а я выставил innodb слишком большие параметры и у меня постоянно база вылезала в своп :D

Автор:  dimOn [ 01 окт 2012, 11:41 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

Просто поверьте на слово: автоматическая интеллектуальная апдейтилка - настоящая утопия. Где такое видано то? Например, даже в линуксах, которые типа готовы для конечных юзеров такого нету, я уж не говорю о дистрибутивах типа арча , которые (при своём роллинг-релизе!) прямым текстом заставляют руками порыться в системе после каждого мелкого апдейта. 10 пунктов выполнить — что сложного то? Участие человека по-любому потребуется. Ежели мы напишем прогу которая сама себя настраивать будет, то зачем нужны будут админы нашему продукту? :idea:

Автор:  skyb [ 01 окт 2012, 11:52 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

dimOn писал(а):
Ежели мы напишем прогу которая сама себя настраивать будет, то зачем нужны будут админы нашему продукту? :idea:

А что ваш софт только апдейтить можно?

Автор:  Phricker [ 01 окт 2012, 12:09 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

skyb писал(а):
dimOn писал(а):
Ежели мы напишем прогу которая сама себя настраивать будет, то зачем нужны будут админы нашему продукту? :idea:

А что ваш софт только апдейтить можно?

Мммм... Ключевая фраза "которая сама себя НАСТРАИВАТЬ будет", а не апдейтить :lol:

Автор:  skyb [ 01 окт 2012, 13:16 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

А хотели же чекбоксы сделать по всем конфигам, жмакай галочки и агонь!!!

Автор:  Cromeshnic [ 01 окт 2012, 13:39 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

Админы бастуют!

Автор:  snark [ 01 окт 2012, 16:29 ]
Заголовок сообщения:  Re: Альтернативный механизм обновления ситемы

skyb писал(а):
А хотели же чекбоксы сделать по всем конфигам, жмакай галочки и агонь!!!

Предлагали, ага ... в результате все равно в эпоху веб 2.0 у нас текстовый конфиг ... хорошо хоть его теперь не надо по всей доке собирать по крупицам :)

Вот чего реально не хватает - так это встроенного в БГ дефолтного конфига (этакий конфиг с id = 0), который нельзя было бы применить (т.к. он только для справки), но с ним можно было бы diff-ить свои конфиги и тогда было бы видно что убралось/добавилось, где поменялся синтаксис и т.д. и т.п..
В таком раскладе обновлять было бы значительно проще, т.к. не надо было бы вырезать родные конфиги из доки и свои конфиги из БГ, чтобы потом их построчно сравнивать на предмет изменений. В клиенте это все сразу было бы видно.

Страница 1 из 2 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/