Pull to refresh
-2
0
Send message

Самурайские инструменты QA: Python (requests)

Reading time7 min
Views5.6K

Рад приветствовать читателей Хабр. Меня зовут Азамат Акчурин, я QA инженер в Bimeister.
Часто при приемке разного рода фич нам, тестировщикам, не хватает сущностей/данных в тестируемой системе. Тестировать на пустых данных не “comme il faut”, поэтому, чтобы наполнить систему данными, мы можем обратиться к разработчикам, QA automation, добавить данные в БД и т. д. — способов очень много.

И сегодня я расскажу про один из таких способов, который "дешево и сердито" позволит тестировщику самостоятельно, не отвлекая других сотрудников, заполнить систему данными.
Все, что нам нужно
1. Установить Python.
2. Установить IDE для Python — лично пользуюсь PyCharm.
3. Дочитать эту статью, чтобы научиться применять такой способ в решении задач.

N.B.
В данной статье опущу пункты установки Python и IDE — будем считать, что они уже установлены. Перейдем, непосредственно, к практике.

Читать далее
Total votes 2: ↑1 and ↓10
Comments2

Как использовать systemd-nspawn для восстановления Linux-системы

Reading time7 min
Views11K
Перевод статьи подготовлен специально для студентов курса «Администратор Linux».





Разбираемся со способностью systemd запускать контейнеры для восстановления корневой файловой системы поврежденной системы.

До тех пор пока будут существовать системы GNU/Linux, системным администраторам будет необходимо восстанавливаться после повреждения корневой файловой системы, случайных изменений конфигурации или других ситуаций, которые не дают системе загрузиться в «нормальное» состояние.

Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments10

Пособие по Ansible

Reading time29 min
Views678K

управление конфигурацией оркестра


Это практическое пособие познакомит вас c Ansible. Вам понадобится виртуальная или реальная машина, которая будет выступать в роли узла для Ansible. Окружение для Vagrant идет в комплекте с этим пособием.


Ansible — это программное решение для удаленного управления конфигурациями. Оно позволяет настраивать удаленные машины. Главное его отличие от других подобных систем в том, что Ansible использует существующую инфраструктуру SSH, в то время как другие (chef, puppet, и пр.) требуют установки специального PKI-окружения.


Пособие покрывает такие темы:


  1. Установка Ansible и Vagrant
  2. Файл инвенторизации
  3. Модули shell, copy, сбор фактов, переменные
  4. Запуск на группу хостов
  5. Плейбуки
  6. Пример: поднимаем кластер, устанавливаем и настраиваем Apache и балансировщик нагрузок HAproxy
  7. Обработка ошибок, откат
  8. Шаблоны конфигурации
  9. Роли

Ansible использует так называемый push mode: конфигурация «проталкивается» (push) с главной машины. Другие CM-системы обычно поступают наоборот – узлы «тянут» (pull) конфигурацию с главной машины.


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

Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments15

Анализ производительности виртуальной машины в VMware vSphere. Часть 1: CPU

Reading time11 min
Views75K


Если вы администрируете виртуальную инфраструктуру на базе VMware vSphere (или любого другого стека технологий), то наверняка часто слышите от пользователей жалобы: «Виртуальная машина работает медленно!». В этом цикле статей разберу метрики производительности и расскажу, что и почему «тормозит» и как сделать так, чтобы не «тормозило».

Буду рассматривать следующие аспекты производительности виртуальных машин:

  • CPU,
  • RAM,
  • DISK,
  • Network.

Начну с CPU.

Для анализа производительности нам понадобятся:

  • vCenter Performance Counters – счетчики производительности, графики которых можно посмотреть через vSphere Client. Информация по данным счетчикам доступна в любой версии клиента (“толстый” клиент на C#, web-клиент на Flex и web-клиент на HTML5). В данных статьях мы будем использовать скриншоты из С#-клиента, только потому, что они лучше смотрятся в миниатюре:)
  • ESXTOP – утилита, которая запускается из командной строки ESXi. С ее помощью можно получить значения счетчиков производительности в реальном времени или выгрузить эти значения за определенный период в .csv файл для дальнейшего анализа. Далее расскажу про этот инструмент подробнее и приведу несколько полезных ссылок на документацию и статьи по теме.

Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments13

Rutoken, OpenSSL и локальный УЦ для подписи сообщений

Reading time6 min
Views4.7K
Некоторое время назад возникла необходимость в рамках проекта ограничить одновременное число компьютеров, имеющих доступ к web-приложению, работающему в рамках локальной сети заказчика.

Решение использовать аппаратные USB-токены для идентификации компьютера пришло само собой. Выбор остановился на Рутокен ЭЦП: работает без драйверов, для работы в Web-приложении необходим лишь плагин для браузера, выпускаемый разработчиком. Поскольку токен должен идентифицировать компьютер, а не пользователя, работа с ним должна быть полностью «прозрачной»: если он есть, то система просто молча работает, не задавая пользователю лишних вопросов.

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

Возникает необходимость создания своего Удостоверяющего Центра (УЦ) для обмена подписанными сообщениями, а точнее, для передачи подписанных сообщений с клиента на сервер. Клиентские сертификаты должны быть расположены на USB-токенах в контейнерах закрытых ключей, а проверка подписи должна выполняться на сервере средствами OpenSSL

Итак, задача: установка и настройка на Linux-сервере УЦ. Развертывание клиентских сертификатов, идентифицирующих компьютеры, на USB-токенах.

Для её решения понадобятся:

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments2

История блужданий по документации Haproxy, или на что стоит обратить внимание при его конфигурации

Reading time8 min
Views32K
И снова здравствуйте!

В прошлый раз мы рассказывали о выборе инструмента в Ostrovok.ru для решения задачи проксирования большого количества запросов к внешним сервисам, никого при этом не положив. Статья закончилась выбором Haproxy. Сегодня я поделюсь нюансами, с которыми мне пришлось столкнуться при использовании этого решения.


Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments3

Создание пакета Debian с нуля

Reading time10 min
Views39K
Создание пакета Debian с нуля является своего рода волшебным процессом. Вы могли бы начать гуглить с запросом “Создание пакета Debian с нуля” и получить множество результатов, ни один из которых не стал бы тем, который Вам необходим. Несомненно, Вы найдете большой обзор команд, которые используются в Debian и, если Вы роете достаточно глубоко, Вы сможете все же найти пару команд, которые помогут создать базовый пакет Debian, но не смогут объяснить, что происходит. Более подробную информацию о том, что все же «происходит» Вы можете получить, в данном посте мы попробуем это частично затронуть.

Читать дальше →
Total votes 51: ↑34 and ↓17+17
Comments27

А вот вы говорите Ceph… а так ли он хорош?

Reading time19 min
Views42K


Я люблю Ceph. Я работаю с ним уже 4 года (0.80.x — 12.2.6, 12.2.5). Порой я так увлечен им, что провожу вечера и ночи в его компании, а не со своей девушкой.
 Я сталкивался с различными проблемами в этом продукте, а с некоторыми продолжаю жить и по сей день. Порой я радовался легким решениям, а иногда мечтал о встрече с разработчиками, чтобы выразить свое негодование. Но Ceph по-прежнему используется в нашем проекте и не исключено, что будет использоваться в новых задачах, по крайней мере мной. В этом рассказе я поделюсь нашим опытом эксплуатации Ceph, в некотором роде выскажусь на тему того, что мне не нравится в этом решении и может быть помогу тем, кто только присматривается к нему. К написанию этой статьи меня подтолкнули события, которые начались примерно год назад, когда в наш проект завезли Dell EMC ScaleIO, ныне известный как Dell EMC VxFlex OS.


Это ни в коем случае не реклама Dell EMC или их продукта! Лично я не очень хорошо отношусь к большим корпорациям, и черным ящикам вроде VxFlex OS. Но как известно, всë в мире относительно и на примере VxFlex OS очень удобно показать каков Ceph с точки зрения эксплуатации, и я попробую это сделать.

Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments55

Асинхронный Python: различные формы конкурентности

Reading time8 min
Views130K
С появлением Python 3 довольно много шума об “асинхронности” и “параллелизме”, можно полагать, что Python недавно представил эти возможности/концепции. Но это не так. Мы много раз использовали эти операции. Кроме того, новички могут подумать, что asyncio является единственным или лучшим способом воссоздать и использовать асинхронные/параллельные операции. В этой статье мы рассмотрим различные способы достижения параллелизма, их преимущества и недостатки.
Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments36

Централизованный syslog

Reading time6 min
Views43K
Привет. В виду растущего количества серверов которые админю, и всяких других девайсов (роутеры, IP телефоны и тд.) в своей IT инфраструктуре, появилась необходимость собирать логи в одном месте и иметь более-менее читабельный интерфейс для их вывода. Возможно я изобретаю велосипед, но в то время не удалось нагуглить по-быстрому чего нибудь подходящего, да и самому захотелось что нибудь сотворить.
Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments51

Сказ о тотальном переборе, или Томительное ожидание декрипта

Reading time13 min
Views13K
imageПриветствую жителей Хабра!

Итак, новые «криптографические игрища» пришли по мою душу. Поэтому сегодня поговорим о занудном упражнении, ориентированном на полный перебор паролей, реализации тривиального многопоточного брутера силами C++ и OpenMP, а также кратко об использовании криптобиблиотеки CryptoPP и стороннего модуля fastpbkdf2 (для Си и Плюсов) в своих проектах.

Го под кат, печеньки out there!
Читать дальше →
Total votes 40: ↑38 and ↓2+36
Comments18

Оптимизация работы виртуальной инфраструктуры на базе VMWare vSphere

Reading time10 min
Views80K
image

Практика показывает, что любой процесс, в определенной степени, всегда можно оптимизировать. Это вполне можно отнести и к виртуализации. Возможностей оптимизации тут достаточно много, и задача эта многогогранна.

В пределах данной статьи я хочу ознакомить вас с методиками сайзинга виртуальных машин, а так же о методах оптимизации их работы. Материал будет техническим и рекомендуется к ознакомлению всем специалистам по vSphere.
Читать дальше →
Total votes 39: ↑33 and ↓6+27
Comments19

Резервное копирование с помощью Bareos и Relax-and-Recover

Reading time9 min
Views53K
Bareos (Backup Archiving Recovery Open Sourced) является централизованной, клиент-серверной и кроссплатформерной системой для резервного копирования, архивирования и восстановления данных.



Является форком Bacula и активно развивается. Имеет клиенты под Linux и Windows. Полный список поддерживаемых фич на Github.
Читать дальше
Total votes 7: ↑7 and ↓0+7
Comments4

Django ORM — медленный? Оптимизируем (хардкорно)

Reading time7 min
Views15K

Наступила осень, и, несмотря на хорошую погоду, наши зрители потянулись за новым видеоконтентом. Бекенд-серверы, обслуживающие эмбеды с видео, стали упираться в CPU. С криками "а-а-а" прибежали системные администраторы и начали отбирать у отдела разработки ноутбуки и десктопы, грозясь поставить их в датацентры "на усиление". Разработке это конечно всё не понравилось и все поувольнялись с этой хренью решили что-нибудь сделать.

Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments25

Mikrotik. QoS для дома

Reading time5 min
Views77K
Сегодня я хотел бы немного рассказать о приоритетах.
image

Статья не претендует на охват всей информации по QoS на Mikrotik. Это демонстрация набора правил, позволяющих настроить несложную схему приоритезации трафика и пополнять её по мере необходимости.

Надеюсь, коллеги помогут советами в комментариях.
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments27

Как пасти скотов. Советы руководителю подразделения разработчиков

Reading time6 min
Views22K
Помимо извечной проблемы отцов и детей, на мой взгляд, существует ещё одна проблема — подчиненных и руководителей. Именно об этой проблеме я и хотел бы поговорить в своей статье. Точнее, о таком частном случае, как взаимоотношения подчиненных и руководителей при разработке программного обеспечения, конструкторской и технологической документации. Руководители зачастую считают подчиненных безответственными разгильдяями, а подчиненные руководителей — некомпетентными пастухами, которым надо пасти стада, а не командовать подразделением разработчиков. Часто ситуация усугубляется непониманием, т.к. руководитель не разбирается в разработке, а подчиненный плохо понимает административные нюансы. Эта статья призвана помочь плохим руководителям стать хорошими руководителями. Вы, конечно, скажете: «Эй, полегче, какие ещё плохие руководители?». И будете, наверное, правы, я сильно сгущаю краски. Не очень-то и плохие. Обычные руководители, каких сотни и тысячи. Но чтобы качественно выстроить процесс разработки, нужны лучшие специалисты — и исполнители, и руководители. Поэтому руководителей я делю на хороших и не хороших. Без полутонов. Как и разработчиков, кстати, об этом сказано в последнем совете. Как понять, хороший Вы руководитель, или плохой? Почитайте нижеследующие правила. Если какие-то из них кажутся Вам чушью и потаканием бездельникам — значит статья написана для Вас.
Читать дальше →
Total votes 76: ↑50 and ↓26+24
Comments110

Удаленная переустановка Linux по ssh без доступа к консоли

Reading time8 min
Views61K
Понадобилось мне переустановить сервер, который как бы хостился у знакомых знакомых. Там был сильно устаревший Debian, а, самое главное, система стояла на обычных разделах без lvm и пространство было распределено очень не оптимально. Физический доступ получить к нему было практически нереально, местного админа попросить что-то сделать было можно, но занять это могло неделю. Виртуальный KVM у сервера был, но извне на него попасть было нельзя; у как бы хостера не было лишних IP-адресов, а внутрь его сети попасть было невозможно. Надо было переустановить сервер из-под работающей системы по ssh. Ага, давайте поменяем ротор у турбины не выключая, потом её перезапустим и будет она с новым ротором работать!
Читать дальше →
Total votes 111: ↑110 and ↓1+109
Comments70

Python: коллекции, часть 4/4: Все о выражениях-генераторах, генераторах списков, множеств и словарей

Reading time17 min
Views184K
Часть 1 Часть 2 Часть 3 Часть 4
imageЗаключительная часть моего цикла, посещенного работе с коллекциями. Данная статья самостоятельная, может изучаться и без предварительного изучения предыдущих.

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

imageБудут рассмотрены: выражения-генераторы, генераторы списка, словаря и множества, вложенные генераторы (5 вариантов), работа с enumerate(), range().
А также: классификация и терминология, синтаксис, аналоги в виде циклов и примеры применения.

Я постарался рассмотреть тонкости и нюансы, которые освещаются далеко не во всех книгах и курсах, и, в том числе, отсутствуют в уже опубликованных на Habrahabr статьях на эту тему.

Оглавление:


1. Определения и классификация.
2. Синтаксис.
3. Аналоги в виде цикла for и в виде функций.
4. Выражения-генераторы.
5. Генерация стандартных коллекций.
6. Периодичность и частичный перебор.
7. Вложенные циклы и генераторы.
8. Использование range().
9. Приложение 1. Дополнительные примеры.
10. Приложение 2. Ссылки по теме.
Изучаем детали, иллюстрации и примеры
Total votes 22: ↑21 and ↓1+20
Comments45

Настраиваем URL Overrides в Keepass2

Reading time5 min
Views47K

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


По специфике моей работы мне часто приходится записывать и хранить большое количество паролей и другой конфиденциальной информации, поэтому я пользуюсь Keepass2 — менеджером паролей со свободной лицензией. Я не стану рассказывать о его возможностях и преимуществах перед другими, все это и так уже обсуждалось не раз. Если кто хочет познакомиться подробнее, вот несколько ссылок: wiki, обзорная статья, сравнения с другими: 1 2.
Вместо этого я хотел бы рассказать об одной его интересной функции:


Функция называется "URL Overrides", и представляет ссобой возможность запускать ассоциированные с записями программы и передавать им данные для аутентификации прямо из Keepass'а.


Например, вы можете хранить в keepass'е список учеток для подключения к удаленному серверу, а в определенный момент выбрать нужную и простым нажатием Ctrl+U, запустить клиент удаленного подключения, и моментально получить доступ к вашему серверу.
Это очень удобно, так как все логины и пароли не хранятся абы где, а надежно зашифрованны в вашей базе keepass и передаются программе-клиенту только в момент подключения.


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

Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments45

Геораспределенный s3-кластер в режиме active-active

Reading time6 min
Views6.4K


Предисловие


Начав настраивать в rados геораспределенную репликацию, столкнулся с проблемой, что официальная документация немного не подходит под новый мажорный релиз jewel, да и в интернете пока еще нет актуальных инструкций. Данный мануал сбережет много времени тем, кто захочет себе небольшое, свое геораспределенное s3-облако.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments9

Information

Rating
Does not participate
Registered
Activity