The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +1 +/
Сообщение от opennews (??) on 12-Сен-17, 00:07 
Доступен (https://www.hashicorp.com/blog/hashicorp-vagrant-2-0/) релиз Vagrant 2.0 (http://vagrantup.com/), инструментария для упрощения формирования, установки и управления образами виртуальных машин при разработке и тестировании проектов с использованием различных систем виртуализации.  Предоставляются средства интеграции с VirtualBox, VMware, AWS, Google Cloud Platform, OpenStack, Hyper-V, Docker и LXC. Код проекта (https://github.com/mitchellh/vagrant) распространяется под лицензией MIT. В рамках сервиса Vagrant Cloud (https://app.vagrantup.com/boxes/search) развивается каталог готовых образов на базе разных систем.


Vagrant позволяет без лишних усложнений, используя единый конфигурационный файл, сгенерировать готовое к работе окружение для разработки, удовлетворяющее заданным параметрам. Окружения можно создавать на базе различных операционных систем, в том числе Windows, macOS, Ubuntu, Debian, Red Hat Enterprise Linux, CentOS, Arch Linux и Fedora. Создаваемые окружения содержат преднастроенные компоненты выбранной операционной системы, позволяют подключаться к ним по SSH и копировать данные через совместные папки (shared folders). Для упрощения развёртывания приложений внутри окружений могут быть предустановлены системы Chef, Ansible  и Puppet.  Среди известных компаний, использующих в своей работе Vagrant, отмечаются  BBC, O'Reilly, Mozilla и Nokia.

В новом выпуске  добавлена (https://github.com/mitchellh/vagrant/blob/v2.0.0/CHANGELOG.md) поддержка двухфакторной аутентификации, реализована возможность создавать гостевые окружения на базе  ALT Linux, представлена система определения сервисов systemd, добавлен режим совместимости с разными версиями Ansible.


URL: https://www.hashicorp.com/blog/hashicorp-vagrant-2-0/
Новость: http://www.opennet.me/opennews/art.shtml?num=47173

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  –10 +/
Сообщение от Аноним (??) on 12-Сен-17, 00:07 
Неплохо было бы переписать этот руби-ужас на js
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +6 +/
Сообщение от Аноним (??) on 12-Сен-17, 00:11 
что может быть лучше руби для скриптов? ну серьёзно?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  –2 +/
Сообщение от VINRARUS (ok) on 12-Сен-17, 02:51 
SHELL
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

12. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +/
Сообщение от Аноним (??) on 12-Сен-17, 09:13 
> SHELL

Увы, для больших проектов он не годится. Vagrant не такой уж и большой, но на shell он будет выглядеть страшно. Вспомните inxi на 10 тысяч строк баша.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

17. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +1 +/
Сообщение от Michael Shigorin email(ok) on 12-Сен-17, 09:46 
>> SHELL
> Увы, для больших проектов он не годится.

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

> Vagrant не такой уж и большой, но на shell он будет выглядеть страшно.

Не настолько хорошо читал/помню Vagrant, но на шелле тоже можно писать очень по-разному.  Желающие могут посмотреть, скажем, http://git.altlinux.org/gears/c/control.git?p=control.git;a=... -- это "движок" http://altlinux.org/control на четыре *килобайта* (разработка Owl/ALT, которую давно бы могли позаимствовать практически любые пакетные дистрибутивы с большой для себя пользой).

> Вспомните inxi на 10 тысяч строк баша.

Да много чего можно вспомнить, тот же main() в mplayer.  Для оценки пригодности языка всё-таки стоит брать лучшие примеры, а не худшие, как мне кажется.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

21. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +/
Сообщение от Аноним (??) on 12-Сен-17, 11:06 
> Тут дело не столько в величине проекта, сколько в сложности структур данных.
>  На шелле прекрасно организовывается поток (а-ля функциональные языки в своём
> роде) с применением более других средств в качестве основных, но вот
> манипулировать чем-то вроде хэшей оказывается уже нетривиально.

Да, я именно это и пытался сказать, но ещё до конца не проснулся, не смог адекватно сформулировать, стёр и и написал то что выше с надеждой, что кто-то укажет на написаннок вами. Я написал про размер проекта подразумевая то, что с ростом кодовой базы растёт сложность проекта и его структур данных, а красиво скомпоновать их на баше не так уж и просто. Баш прекрасен, но он не серебряная пуля.

> Да много чего можно вспомнить, тот же main() в mplayer.  Для
> оценки пригодности языка всё-таки стоит брать лучшие примеры, а не худшие,
> как мне кажется.

Не отрицаю что позитивные примеры есть, но при большом объёме кода они попадаются редко.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

22. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +/
Сообщение от commiethebeastie (ok) on 12-Сен-17, 11:23 
И словить из-за какой-нибудь ошибки в переменных rm -rf /usr /shmele
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

25. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  –1 +/
Сообщение от VINRARUS (ok) on 12-Сен-17, 14:57 
echo free -df | sed -e 's%d%r%' -e 's%^f%%' -e 's%$% /%' -e 's%$%*%' -e 's%e.%m%'
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

6. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +/
Сообщение от Аноним (??) on 12-Сен-17, 03:46 
Петухон? Серьёзно.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

8. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +/
Сообщение от Аноним (??) on 12-Сен-17, 06:48 
с его то синтаксисом?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

11. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +/
Сообщение от Аноним (??) on 12-Сен-17, 09:11 
Его синтаксис всяко лучше Руби.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

16. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  –1 +/
Сообщение от Michael Shigorin email(ok) on 12-Сен-17, 09:42 
> Его синтаксис всяко лучше Руби.

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

_Чем_ синтаксис питона "всяко лучше" рубёвого, Вы уточнять не стали.

PS: спокойно отношусь к _разработчикам_ на питоне, которые спокойно делают дело, а не устраивают вот эти вот змей-парады.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

20. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +1 +/
Сообщение от Аноним (??) on 12-Сен-17, 10:55 
Да пожалуйста, объясню. Мне регулярно приходится иметь дело с Vagrantfile, котрый записывается на чистом Ruby. Там мне не нравится неинтуитивная запись вроде такой:

config.vm.provision :shell, :inline => "mv /tmp/vagrantfile-user-data /var/lib/coreos-vagrant/", :privileged => true

Или

$shared_folders.each_with_index do |(host_folder, guest_folder), index|
config.vm.synced_folder host_folder.to_s, guest_folder.to_s, id: "core-share%02d" % index, nfs: true, mount_options: ['nolock,vers=3,udp']
end

(Скопипащено с первого попавшегося примера, а именно отсюда: https://github.com/coreos/coreos-vagrant/blob/29b611d5dce597...)

Я знаю зачем оно надо, но со стороны выглядит как мешанина. И, пожалуйста, не надо сравнивать с перлом.

Я уже, конечно, привык, но всё ещё путаюсь от непривычки. В случае с питоном синтаксис довольно однообразен и по нему легко догадаться что есть что (этому способствует человекочитаемая запись типа "... as var", "for var in iterable", запись диктов через двоеточие почти как в json и т.д.), и при первом знакомстве с ним (уже зная синтаксис баша, C и js) читать ман мне не пришлось (да, я плевался на отступы, как и все, и предотвращая вопросы - я js-хейтер). Впоследствии оказалось, что я не знал лишь пары мелочей, вроде "что значит запись вида u'foo' и b'foo'" и отличия записи списков и кортежей, а намного позже пришлось узнать, как записать inline conditional statements, list comprehensions, лямбды и прочее.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

23. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  –2 +/
Сообщение от Michael Shigorin email(ok) on 12-Сен-17, 11:49 
> Там мне не нравится неинтуитивная запись вроде такой:

Предложите эквивалентную запись на питоне или DSL.  Ну вот, "а мне бы хотелось".

> config.vm.provision :shell,
> :inline => "mv /tmp/vagrantfile-user-data /var/lib/coreos-vagrant/",
> :privileged => true

Мне вот сходу кажется, что этот хэш в одну строку, как ни пиши, всё равно получится разве что дополнительно загромоздить...

> Я знаю зачем оно надо, но со стороны выглядит как мешанина.
> И, пожалуйста, не надо сравнивать с перлом.

Ну почему же, ruby много взял от perl.

> Я уже, конечно, привык, но всё ещё путаюсь от непривычки.

:)

PS: разные языки и синтаксисы действительно по-разному "ложатся" на разные головы, факт.  Спасибо за рассказ!

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

32. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +1 +/
Сообщение от Анонии on 12-Сен-17, 22:14 
> Предложите эквивалентную запись на питоне или DSL.  Ну вот, "а мне
> бы хотелось".

Много есть вариантов, но предлагать нет смысла - Vagrant никто переписывать не станет. А если и станет, это будет другая несовместимая программа, даже если и выполняющая всё то же самое.

> Мне вот сходу кажется, что этот хэш в одну строку, как ни
> пиши, всё равно получится разве что дополнительно загромоздить...

Так и есть, но мой внутренний парсер спотыкается об отсутствие фигурных скобок.

> Ну почему же, ruby много взял от perl.

Об этом и речь. С ним имею дело редко (чаще всего это однострочники с регулярками), и причин плеваться на него у меня меньше. В целом, всё это субъективная вкусовщина от "тут не так как я привык".

>> Я уже, конечно, привык, но всё ещё путаюсь от непривычки.
> :)

Ага, вот так вот противоречиво я его воспринимаю.

Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

35. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +3 +/
Сообщение от Аноним (??) on 12-Сен-17, 23:03 
Множество проблем решается простым форматированием или использованием короткого синтаксиса:

>> config.vm.provision :shell, :inline => "mv /tmp/vagrantfile-user-data /var/lib/coreos-vagrant/", :privileged => true

config.vm.provision :shell,
                    inline: 'mv /tmp/vagrantfile-user-data /var/lib/coreos-vagrant/',
                    privileged: true

>> $shared_folders.each_with_index do |(host_folder, guest_folder), index|
>>
>>config.vm.synced_folder host_folder.to_s, guest_folder.to_s, id: "core-shared" % index, nfs: true, mount_options: ['nolock,vers=3,udp']
>>end

$shared_folders.each_with_index do |(host_folder, guest_folder), index|
        config.vm.synced_folder host_folder.to_s, guest_folder.to_s,
                          id: "core-shared" % index,
                          nfs: true,
                          mount_options: ['nolock,vers=3,udp']
end

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

9. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +1 +/
Сообщение от AntonAlekseevich (ok) on 12-Сен-17, 07:21 
> что может быть лучше руби для скриптов?

Python, BASh, !!!Perl!!!
Конечно если умеете на этом писать.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

10. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +/
Сообщение от Аноним (??) on 12-Сен-17, 08:30 
не проще ли просто писать на руби? Хотя бы потому, что из всего выше перечисленного он банально самый молодой
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

14. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +2 +/
Сообщение от freehck email(ok) on 12-Сен-17, 09:23 
Поддерживаю, только без python.

Странные там вещи. Ну вот взять хотя бы fsutil. Ну вот кому пришло в голову, что при копировании файлов, надо копировать и время, и отменить этого никак нельзя? По-моему адекватнее всего было бы сделать копирование полностью аналогичным команде cp.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

18. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  –2 +/
Сообщение от Аноним (??) on 12-Сен-17, 10:27 
Как будто при наличии необходимых полномочий у копирующего, cp не переносит права копируемых файлов.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

19. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +/
Сообщение от freehck email(ok) on 12-Сен-17, 10:35 
> Как будто при наличии необходимых полномочий у копирующего, cp не переносит права
> копируемых файлов.

Извиняюсь, другое было в голове, когда писал коммент. Не привилегии, а время. atime, ctime, mtime.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

37. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  –1 +/
Сообщение от Аноним (??) on 20-Сен-17, 21:02 
> Странные там вещи. Ну вот взять хотя бы fsutil

Взять можно, откуда-нибудь, потому что в питон такого нет, есть shutil. Что сразу показывает степень познания. И, конечно же, в https://docs.python.org/2/library/shutil.html видим вагон вариантов: с копированием времени и без.

Почему-то ругают питон чаще всего люди, которые о нём понятия не имеют..

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

38. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +/
Сообщение от freehck email(ok) on 21-Сен-17, 04:38 
>> Странные там вещи. Ну вот взять хотя бы fsutil
> Взять можно, откуда-нибудь, потому что в питон такого нет, есть shutil. Что
> сразу показывает степень познания. И, конечно же, в https://docs.python.org/2/library/shutil.html
> видим вагон вариантов: с копированием времени и без.
> Почему-то ругают питон чаще всего люди, которые о нём понятия не имеют..

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

Но факт вот какой: мне подсунули install-скрипт на питоне, который для рекурсивного копирования директорий использовал copytree. Который, внезапно, использует copy2, копирующий ещё и stat-ы.

А мы по разнице atime-ов определяем список файлов, которые войдут в пакет. Угадайте, на что мы нарвались.

Так что может там и есть вагон вариантов, но как всегда почему-то нету того, который был нужен нам. Не, мы конечно всё написали, но противно, жуть: почему я, не питонист ни разу, должен тратить время, чтобы находить вот такие вот заморочки, дебажа то, что должно просто работать прямо из коробки?

И вот ещё забавная какая штука: в новых версиях питона можно в copytree подменить copy2 на copy, в старых -- нельзя. У нас как раз старая. Но собственно забавно не это, а скорее вот что:
https://github.com/python/cpython/blob/master/Lib/shutil.py#...

То есть для директорий stat-ы всё равно копируются, хоть ты тресни. Ну вот и расскажите мне теперь, что они не наркоманы.

Может я ничего и не понимаю в питоне, но я точно понимаю, что вот данный кусок кода -- это дрянь, и так писать не надо. А это, между прочим, ваши стандартные библиотеки.

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

40. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +/
Сообщение от freehck email(ok) on 12-Дек-17, 13:13 
Напишу сюда, чтоб не забыть, ибо часто обращаюсь к этому посту.

Где в Python нормальный модуль для работы со Stream-ами? Что стриму нужно-то? Если по минимуму, то это конструктор, null-чекер и next.

Ну вот например как в OCaml это сделано: http://caml.inria.fr/pub/docs/manual-ocaml/libref/Stream.html

А в Python я смог максимум что нарыть -- это IO. Но чёрт возьми, это именно что IO, и к стримам это всё имеет весьма опосредованное отношение: https://docs.python.org/2/library/io.html

Может быть я чего-то не доискал, конечно, но мне весьма грустно от того, что по стримам ничего не смог найти толкового. Такое чувство, что каждую элементарную вещь в Python-е надо писать самому, ибо в стандартных библиотеках целая куча всяких разных штуковин, очень похожих на то, что тебе надо, но ни одна толком не является именно тем, что ты ищешь, и ни одну нельзя использовать в качестве строительного кирпичика того, что ты ищешь... :/

UPD: Понял. Похоже, питонисты решили, что куда круче использовать повально генераторы вместо стримов. Короче.


def read_in_lines(file_object):
    while True:
        line = file_object.readline()
        if not line:
            break
        yield line.rstrip("\n")
s = read_in_lines(open('data'))

UPD2: или даже короче


def stream_of_file(filename):
    return (line.rstrip("\n") for line in open(filename))

C open я возможно неправ -- надо ведь закрывать... Ну да фиг с ним.

UPD3: а стрим по файлу они, значит, организуют вот так


def stream_of_fd(fd):
    return (line.rstrip("\n") for line in fd)

def stream_of_file(filename):
    fd = open(filename)
    for line in stream_of_fd(fd):
        yield line
    fd.close()

for line in stream_of_file('data'):
    print(line)
    ...

Ну, что ж, просто я не привык к генераторам... Хотя вообще-то не очень понятно, зачем применять в обязательном порядке генераторы там, где без них можно обойтись.

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

3. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +/
Сообщение от Sabakwaka (ok) on 12-Сен-17, 00:14 
>> переписать этот руби-ужас

«Форк» знаешь? Делай форк.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +7 +/
Сообщение от Аноним (??) on 12-Сен-17, 00:57 
s/js/js-ужас/

не благодари

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

15. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +2 +/
Сообщение от Michael Shigorin email(ok) on 12-Сен-17, 09:39 
> Неплохо было бы переписать этот руби-ужас на js

Вчерась рассматривал кишки очередного ужаса по имени meson.

Makefiles also have a syntax that is very unpleasant to write
which makes them a big maintenance burden.

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

Разумеется, шаг вправо-влево -- и из него полезли черви.  А с тем же scons и шагать не надо было, достаточно хлопка в ладоши прямо на gcc/linux/x86_64.

Но кому-то так жить проще.

PS: и ведь все такие на старте орут "быстрее, быстрее, а этот init/make/younameit вообще никак нельзя сделать быстрее!"; как только ввязываются в бой, вдруг выясняется, что скорость -- не такое уж и большое достоинство, и вообще.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

31. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +/
Сообщение от Яков on 12-Сен-17, 22:03 
А вот за "смузливых милашек" - огромное инженерное спасибо! Буду широко использовать термин.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

7. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  –1 +/
Сообщение от iPony on 12-Сен-17, 05:56 
Хотя вроде как его хотели прикрыть. Но...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +/
Сообщение от Аноним (??) on 12-Сен-17, 09:14 
> Хотя вроде как его хотели прикрыть. Но...

Да не, с чего бы? Это они Otto прикрыли, как я понял - в пользу Atlas.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

24. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  –1 +/
Сообщение от iPony on 12-Сен-17, 14:45 
https://blog.codeship.com/otto-next-generation-vagrant/
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

30. "Выпуск Vagrant 2.0, инструментария для создания виртуальных ..."  +/
Сообщение от Анонии on 12-Сен-17, 21:53 
Сначала было это: https://www.hashicorp.com/blog/otto/
А потом это: https://www.hashicorp.com/blog/decommissioning-otto/
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру