Travel around the world

How to Create and enforce Github branch protection rules for Organization. Best Practice

git branches

We are going to enforce the Git Best Practice branch's protection rules and recommendaions for GitHub Organization repositories.

Also we will automate a proces of adding and updating teams and branch protection rules to GitHub Organization repository.

There is the same way to apply branch protection and recommendaions to private (non-organization GitHub repositories but you need to modify the automation scipts). Also some options are not available for non-organization GitHub repositories.

 

 

 

 

Read more ...

Joshua Tree National park.

Национальный парк Joshua TreeAnd once again, we make our journrey with friends, to Joshua Tree National Park

We make our way down here every year, on the last weekend of May, so that we can experience the desert heat, rock climb on real rocks, take some time away from work, and spend our time with good people. On this trip, our whole family came, along with Boris, Natasha, Yulia, Victor Zybin, Kirk + Caren, Gina + Steven, Mónica + Nuno, Brian, Maya + Steve (this is so I don't forget). 
What is Joshua Tree National Park? This is a part of the top of the Mojave Desert - a plateau resting at 1200 meters above sea level, with the temperature lower by 5-10 C, than in the lower part of Mojave Desert. 

What is the Mojave Desert. It is a small desert in North America, where many Hollywood movies were filmed. So, if you see a Hollywood movie with a desert, moon, The Martian - then it was in the Mojave Desert, since Los Angeles and Hollywood are only a one hour drive away. Top Gun was also filmed here. 

Read more ...

Isla del Sol - no way to avoid to take a money

Isla del Sol - hike trail

The island Isla del Sol located in the southern part of lake Titicaca at an elevation of 3800 meters above sea level. The island is divided in two parts – the north end the south community. We landed on the north part of the island near the village Challapampa. Challapampa bay is very big and beautiful, with clean calm blue water. There were several cafes on the beach where we had breakfast. The trail started from the beach near a small museum with ancient ceramics and bones in glass cases.

 
 

Then the surprises started. Near the museum stood a man who asked us for tickets to go on a trail, but the museum was free. We bought two tickets for 10 Soles and continued on our way. The trail went near a school, between houses and terraced fields. Near the school an old lady in traditional dresse checked our tickets and wished us good luck.

Read more ...

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

Клиент - емулятор задержек сети - серверНаиболее простым является решени на Linux машине с двумя сетевыми картами. Шлюз Gateway выступает в роли моста между двумя сетевыми интерфесами eth0 и eth1. Шлюз прозрачен для сети и может быть установлен в разрыв сети в любом сетефом окружении. Главное, что бы IP адреса его интерфейсов не конфликтовали с IP адресами сети, то есть были из другой подсети.

Опускаю установку OS Linux. Замечу только, что желательно иметь последние обновления на OS Linux. Я выбрал для установки в свойе тестовой лаборатории дистрибутив Ubuntu 12.04.4 LTS. Все далее описанные команды идут сразу после начисто установленной OS Linux подключенной к сети интерфейсом eth0 и получившей IP адрес с внутреннего DHCP сервера или статический IP. Host имеет доступ к Интернет. Предполагается, что команды подаются в терминале с клавиатуры в начале процесса. После настройки сетевых интерфейсов вы можете подключиться к Gateway по SSH или Telnet и работать удаленно.

В нашем примере мы используем следующую адресацию:
Server host: IP 10.0.0.2, Mask 255.255.255.0, GW 10.0.0.1
Client host: IP 10.0.0.3, Mask 255.255.255.0, GW 10.0.0.1
Gateway host (bridge): eth0/eth1 IP 192.168.1.10, Mask 255.255.255.0

Устанавливаем openssh, обновляемся и перезагружаемся:
sudo apt-get install ssh openssh-server
sudo apt-get update
sudo apt-get upgrade
sudo reboot



Устанавливаем компонент поддержки сетевого моста:
sudo apt-get install bridge-utils

Вносим изменения в настройки сетевых интерфейсов:
sudo cp /etc/network/interfaces /etc/network/interfaces.bak
sudo nano /etc/network/interfaces

Скопируйте тект в файл заменив имеющийся там:
# The loopback network interface
auto lo
iface lo inet loopback

# Eth0 to Eth network switch
allow-hotplug eth0
iface eth0 inet manual
   pre-up   ifconfig $IFACE up
   pre-down ifconfig $IFACE down

allow-hotplug eth1
iface eth1 inet manual
   pre-up   ifconfig $IFACE up
   pre-down ifconfig $IFACE down

# Setup an IP address for our bridge
auto br0
iface br0 inet static
  bridge_ports eth0 eth1
  address 192.168.1.10
  broadcast 192.168.1.255
  netmask 255.255.255.0

Рестартуем сетевые интерфейсы для применения изменений
sudo /etc/init.d/networking restart

После этого шлюз доступен в сети по IP адресу 192.168.1.10.

Проверяем конфигурацию сети:
ifconfig
ip addr show
brctl show


Создаем скрипт с набором правил. В скрипт можно внести весь набор правил с которыми вы хотите тестировать свойства соединения. Папку со скриптом можно хранить в домашней директории пользователя:
mkdir scripts
cd scripеы
nano script.sh


Скопируйте тект в файл:
#!/bin/bash
echo
echo Please run script with root access: sudo ./script.sh
echo
echo Curent status:
tc qdisc show dev eth0
echo
echo "Please make a choice:"
OPTIONS="Clean_Value Latency-200ms Latency-500ms Latency-1000ms Packet_Lost-20% Packet_Lost-30%
Latency-200ms_and_Packet_Lost-20% Clean_and_Exit"
select opt in $OPTIONS; do
if [ "$opt" = "Clean_Value" ]; then
tc qdisc del dev eth0 root
echo Cleared
elif [ "$opt" = "Latency-200ms" ]; then
#Remove fusion
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root netem delay 200ms
echo Latency 200ms
tc qdisc show dev eth0
elif [ "$opt" = "Latency-500ms" ]; then
#Remove fusion
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root netem delay 500ms
echo Latency 500ms
tc qdisc show dev eth0
elif [ "$opt" = "Latency-1000ms" ]; then
#Remove fusion
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root netem delay 1000ms
echo Latency 1000ms
tc qdisc show dev eth0
elif [ "$opt" = "Packet_Lost-20%" ]; then
#Remove fusion
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root netem loss 20%
echo Packet Lost 20%
tc qdisc show dev eth0
elif [ "$opt" = "Packet_Lost-30%" ]; then
#Remove fusion
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root netem loss 30%
echo Packet Lost 30%
tc qdisc show dev eth0
elif [ "$opt" = "Latency-200ms_and_Packet_Lost-20%" ]; then
#Remove fusion
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root netem delay 200ms 50ms loss 20%
echo Latency 200ms and Packets Lost 10%
tc qdisc show dev eth0
elif [ "$opt" = "Clean_and_Exit" ]; then
tc qdisc del dev eth0 root
echo Curent status:
tc qdisc show dev eth0
exit
else
clear
echo bad option
fi
done


Делаем скрипт запускаемым:
chmod +x script.sh

Скрипт содержить некоторый набор правил. Вы можете добавить правила необходимые вам или изменить имеющиеся.
Изменяем скрипт:
nano script.sh

Запускаем скрипт:
sudo ./script.sh

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

Add comment


Security code
Refresh