e0ne's comments

Work with Gerrit: git review-update

Published at January 26, 2019 ·  1 min read

If you work with Gerrit you use its CLI tool git review. Working with OpenStack, I use it a lot every day. I need to update the last patch and send it to the Gerrit very often. That’s why I created one line script to execute git commit -a --amend && git review command. I put it into the /usr/local/bin/git-review-update file with a following content: #!/bin/sh git commit -a --amend && git review Now, I can use git review-update command to update the last patch and send it to Gerrit....

Code Search for Your Repos

Published at January 25, 2019 ·  1 min read

Once you have more than one repository with sources you starting to search across all of them. You can use IDE and/or your favorite text editor to search across an open project. Usually, I use ‘grep’ to search in my ‘~/src’ directory. It works pretty well when you have a few repos. But once you’ve got tens of them, it’s it’s time to find something convenient than ‘grep’. This way is good only if you prefer GUI rather than CLI....

I need more (fake) disks

Published at January 24, 2019 ·  1 min read

Sometime I need some additional disks or volume groups to do some testing. E.g. it’s widely used for OpenStack Cinder testing with LVM driver. Usually, I don’t have additional disks to work with:(. That’s why I use loopback devices instead. It’s an easy to configure solution. Of course, it works a but slower than on a real hardware but it’s absolutely acceptable for many scenarios. I’ll show you an example based on Devstack solution....

Benefits of the Automation

Published at January 23, 2019 ·  1 min read

Nobody will argue that Automation is great. I hope it’s obvious for everybody. Even simple automation which saves you a few minutes every day helps a lot to not do some boring routing things. Since I created some simple scripts to publish new blog posts, create containers or virtual machines for required environments, it saves me a lot of time to do something interesting or read about new technologies which I can or even cannot bring to my current projects....

Flask WEB_ROOT Support

Published at January 22, 2019 ·  1 min read

Impressed by OpenStack Horizon WEBROOT config option I decided to add the same for my Flask-based project. TBH, I was sure that it’s an option from Django. It works great and it’s extremely useful. From the Horizon’s documentation: WEBROOT - Specifies the location where the access to the dashboard is configured in the web server. For example, if you’re accessing the Dashboard via https:///dashboard, you would set thisto "/dashboard/". It’s not needed by everybody, but sometimes it’s good to have something like it....

KISS Principle in a Practice

Published at January 21, 2019 ·  1 min read

I hope everybody is familiar with [“Keep It Simple, Stupid” (KISS) principle] (https://en.wikipedia.org/wiki/KISS_principle). If not, it’s a good time to read about it. It a software engineering, it means that you need to keep your software as simple as possible. Your software architecture should do things that are required at this moment. Please, do not do premature optimization just because you think it’s a good idea. You don’t need tons of patterns implemented and dozens of layers in your software on early stages....

Personal Tests Anti Rating

Published at January 20, 2019 ·  1 min read

Here is my personal test anti-rating. If I see something from this list, for me it means that the testing process on this project is not ideal. 5. You can’t run tests on your development environment It depends on a project ad kind of tests, but you should be able to run unit tests at least on your development environment. Otherwise, you’ll waste your time and CI resources waiting for tests results...

Docker Image Collection

Published at January 19, 2019 ·  1 min read

NOTE: There is a new format for my posts. Something like really short reviews. I call it ‘notes’. I’ll publish such posts time to time to share something great with you and to not lost links to them. Somebody likes everything in Docker/container principle, somebody doesn’t. I like this idea more and more each day. I even think that I started looking into the containers too late. Nevertheless, I move a lot of services to Docker just because it’s easier than having 10-15-20+ repos in my apt....

Not a DNS Server for Libvirt

Published at January 18, 2019 ·  2 min read

Sometimes I’m too lazy to repeat the same task so I do some automation to make my life easier. Unfortunately, I don’t have enough time to do it well each time. That’s why I prefer ‘good enough’ way. I implement something good enough for me and refactor it once I have time. I use virtual machines on my desktop a lot. Usually, I have several of them up and running. I don’t like to remember an IP address for each of them, that’s why I prefer to use hostnames....

Diskimage-builder in Docker

Published at January 17, 2019 ·  1 min read

diskimage-builder is a tool for automatically building customized operating-system images for use in clouds and other environments. Unfortunately, I can’t do everything in Docker so I have to use VMs a lot. diskimage-builder helps me a lot to build basic VM images with pre-installed packages, my SSH key, etc. Since I try to have my development environment as clean, as possible I do not install additional packages on my desktop. Any Python package I install in the virtualenv....


.net .net-framework .net-framework-3.5 agile ajax ajax-control-toolkit ampq ansible apache asp.net asp.net-mvc automation axum babel bash benchmark blog blog-engine bootstrap buildout c# cache centos chrome ci cinder ckan cli cloud code-review codeplex community config debugger deface dependencies development-environment devices devstack devtime disks django dlr dns docker dockerimage dos easy_install elmah encoding environment-variables error event events everything-as-a-code exception exceptions fabrik firefox flask foreach forms fstab gae gcc gerrit git github go google google-app-engine grep hack hacked hardware headless horizon hound html hugo iaas ienumerable iis internet iptables iron-python ironic iscsi java-script javascript jenkins jquery js jsx k8s kharkivpy kiss kombu kubernetes kvm kyiv lettuce libvirt linux lio loci logging loopback losetup lvm mac-os macos mercurial microsoft microsoft-sync-framework mobile mono ms-office msbuild networking news nginx npm npx offtopic oop open-source open-xml opensource openstack openvswitch os packages paraller-development patterns-practices performance php pika pip plugins pnp podcast popup postgresql profiler project protocols proxy pycamp pycharm pycon pykyiv pylint pypi python python-3 qcow quantum qumy rabbitmq rar react reactjs refactoring rfc rhel search-engine security selenium server shell silverlight socket software-engineering source-control sourcegear-vault sources sql sql-server sql-server-express sqlalchemy ssh static-site sublimetext svg tests tgt tipfy todo tornado typescript uapycon ui uneta unit-tests upgrades usability vim virtualenv visual-studio vitrage vm vue.js vuejs web-development web-server web-service web_root webpack webroot windows windows-live word-press x32 x64 xcode xml xss xvfb интернет-магазин книги

Recent posts

Go 1.18: new features

Всё будет Kubernetes

2022 Relaunch

Everyday Blogging

I don't want this CI


2022 (3)
2019 (73)
2018 (2)
2017 (3)
2016 (2)
2015 (3)
2014 (5)
2013 (17)
2012 (22)
2011 (36)
2010 (25)
2009 (35)
2008 (32)
2007 (2)