From e1f919c36fd3f55cea0e4e3a8be2df446f423f8f Mon Sep 17 00:00:00 2001 From: Yongzhi Pan Date: Tue, 27 Jun 2017 18:16:40 +0800 Subject: [PATCH 01/23] Default to node1. close #138 --- Vagrantfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vagrantfile b/Vagrantfile index 28525cd..778a79f 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -5,7 +5,7 @@ Vagrant.configure(2) do |config| (1..3).each do |i| nodename = "node#{i}" - config.vm.define nodename do |node| + config.vm.define nodename, primary: i == 1, autostart: i == 1 do |node| node.vm.box = "laincloud/centos-lain" node.vm.hostname = nodename From f7e2bf64fdb134fcd8db386f758d98605c69207e Mon Sep 17 00:00:00 2001 From: liuxu Date: Fri, 30 Jun 2017 18:29:18 +0800 Subject: [PATCH 02/23] update prepare.sh --- bootstrap | 2 +- download-calico.sh | 12 ------------ prepare.sh | 32 +++++++++++++++++++++----------- 3 files changed, 22 insertions(+), 24 deletions(-) delete mode 100755 download-calico.sh diff --git a/bootstrap b/bootstrap index 2ff5282..2cc5122 100755 --- a/bootstrap +++ b/bootstrap @@ -149,7 +149,7 @@ def install_ansible(options): # "with CentOS's python-crypto package. Remove it.") # call('pip uninstall -y pycrypto', shell=True) - check_call('yum install -y epel-release gcc python-devel openssl-devel libffi-devel', + check_call('yum install -y wget epel-release gcc python-devel openssl-devel libffi-devel', shell=True) # NOTE: This will install python-crypto. check_call('yum install -y python2-pip', shell=True) diff --git a/download-calico.sh b/download-calico.sh deleted file mode 100755 index ec8c4e7..0000000 --- a/download-calico.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -mkdir -p playbooks/roles/networkd-upgrade/files -mkdir -p playbooks/roles/calico-upgrade/files/bin -wget https://github.com/laincloud/networkd/releases/download/v0.1.22/networkd -O playbooks/roles/networkd-upgrade/files/networkd -wget https://github.com/laincloud/calico-upgrade/releases/download/v0.0.1/calico-upgrade -O playbooks/roles/calico-upgrade/files/bin/calico-upgrade -wget https://github.com/projectcalico/calicoctl/releases/download/v1.2.1/calicoctl -O playbooks/roles/calico-upgrade/files/bin/calicoctl -wget https://github.com/projectcalico/felix/releases/download/2.2.2/calico-felix -O playbooks/roles/calico-upgrade/files/bin/calico-felix -wget https://github.com/projectcalico/bird/releases/download/v0.3.1/bird -O playbooks/roles/calico-upgrade/files/bin/bird -wget https://github.com/projectcalico/bird/releases/download/v0.3.1/bird6 -O playbooks/roles/calico-upgrade/files/bin/bird6 -wget https://github.com/projectcalico/confd/releases/download/v0.11.2/confd -O playbooks/roles/calico-upgrade/files/bin/confd -wget https://github.com/laincloud/libnetwork-plugin/releases/download/v1.1.0/libnetwork-plugin -O playbooks/roles/calico-upgrade/files/bin/libnetwork-plugin -wget https://github.com/laincloud/calicoctl/releases/download/v1.2.1/allocate-ipip-addr -O playbooks/roles/calico-upgrade/files/bin/allocate-ipip-addr \ No newline at end of file diff --git a/prepare.sh b/prepare.sh index 841a1a1..7847656 100755 --- a/prepare.sh +++ b/prepare.sh @@ -15,24 +15,34 @@ mkdir -p playbooks/roles/deployd/files mkdir -p playbooks/roles/lainlet/files mkdir -p playbooks/roles/calico/files/bin -wget -c https://github.com/laincloud/networkd/releases/download/v2.3.0/networkd -O playbooks/roles/networkd/files/networkd +wget -c https://github.com/laincloud/networkd/releases/download/v2.3.0/networkd.xz -O playbooks/roles/networkd/files/networkd.xz -wget -c https://github.com/laincloud/deployd/releases/download/v2.3.0/deployd -O playbooks/roles/deployd/files/deployd +wget -c https://github.com/laincloud/deployd/releases/download/v2.3.0/deployd.xz -O playbooks/roles/deployd/files/deployd.xz -wget -c https://github.com/laincloud/lainlet/releases/download/v2.0.5/lainlet -O playbooks/roles/lainlet/files/lainlet +wget -c https://github.com/laincloud/lainlet/releases/download/v2.3.0/lainlet.xz -O playbooks/roles/lainlet/files/lainlet.xz -wget -c https://github.com/projectcalico/calicoctl/releases/download/v1.2.1/calicoctl -O playbooks/roles/calico/files/bin/calicoctl +wget -c https://github.com/laincloud/calicoctl/releases/download/v1.2.1/calicoctl.xz -O playbooks/roles/calico/files/bin/calicoctl.xz -wget -c https://github.com/projectcalico/felix/releases/download/2.2.2/calico-felix -O playbooks/roles/calico/files/bin/calico-felix +wget -c https://github.com/laincloud/calicoctl/releases/download/v1.2.1/allocate-ipip-addr.xz -O playbooks/roles/calico/files/bin/allocate-ipip-addr.xz -wget -c https://github.com/projectcalico/bird/releases/download/v0.3.1/bird -O playbooks/roles/calico/files/bin/bird +wget -c https://github.com/laincloud/calicoctl/releases/download/v1.2.1/startup.xz -O playbooks/roles/calico/files/bin/startup.xz -wget -c https://github.com/projectcalico/bird/releases/download/v0.3.1/bird6 -O playbooks/roles/calico/files/bin/bird6 +wget -c https://github.com/laincloud/felix/releases/download/2.2.2/calico-felix.xz -O playbooks/roles/calico/files/bin/calico-felix.xz -wget -c https://github.com/projectcalico/confd/releases/download/v0.11.2/confd -O playbooks/roles/calico/files/bin/confd +wget -c https://github.com/laincloud/confd/releases/download/v0.11.2/confd.xz -O playbooks/roles/calico/files/bin/confd.xz -wget -c https://github.com/laincloud/libnetwork-plugin/releases/download/v1.1.0/libnetwork-plugin -O playbooks/roles/calico/files/bin/libnetwork-plugin +wget -c https://github.com/laincloud/libnetwork-plugin/releases/download/v1.1.0/libnetwork-plugin.xz -O playbooks/roles/calico/files/bin/libnetwork-plugin.xz -wget -c https://github.com/laincloud/calicoctl/releases/download/v1.2.1/allocate-ipip-addr -O playbooks/roles/calico/files/bin/allocate-ipip-addr +wget -c https://github.com/projectcalico/bird/releases/download/v0.3.1/bird -O playbooks/roles/calico/files/bin/bird + +wget -c https://github.com/projectcalico/bird/releases/download/v0.3.1/bird6 -O playbooks/roles/calico/files/bin/bird6 -wget -c https://github.com/laincloud/calicoctl/releases/download/v1.2.1/startup -O playbooks/roles/calico/files/bin/startup +unxz -kf playbooks/roles/networkd/files/networkd.xz +unxz -kf playbooks/roles/deployd/files/deployd.xz +unxz -kf playbooks/roles/lainlet/files/lainlet.xz +unxz -kf playbooks/roles/calico/files/bin/calicoctl.xz +unxz -kf playbooks/roles/calico/files/bin/allocate-ipip-addr.xz +unxz -kf playbooks/roles/calico/files/bin/startup.xz +unxz -kf playbooks/roles/calico/files/bin/calico-felix.xz +unxz -kf playbooks/roles/calico/files/bin/confd.xz +unxz -kf playbooks/roles/calico/files/bin/libnetwork-plugin.xz From 901ac86f06ad22a39afc1449dc4e639d3e5b3ae2 Mon Sep 17 00:00:00 2001 From: chaoyiwang Date: Tue, 4 Jul 2017 18:03:49 +0800 Subject: [PATCH 03/23] cmd changed to calicoctl ipam release --ip (#149) --- playbooks/roles/network-recover/tasks/main.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/playbooks/roles/network-recover/tasks/main.yaml b/playbooks/roles/network-recover/tasks/main.yaml index 1c7d6dc..e7d71d2 100644 --- a/playbooks/roles/network-recover/tasks/main.yaml +++ b/playbooks/roles/network-recover/tasks/main.yaml @@ -27,5 +27,5 @@ when: is_lain_manager and result|success - name: recycle the used ip - shell: calicoctl ipam release {{ recycle_ip }} - when: is_lain_manager and result|success \ No newline at end of file + shell: calicoctl ipam release --ip {{ recycle_ip }} + when: is_lain_manager and result|success From 0e759d2634da2439dc36cd35419db932baa76b59 Mon Sep 17 00:00:00 2001 From: liuxu Date: Tue, 4 Jul 2017 20:30:30 +0800 Subject: [PATCH 04/23] fix calico nat-outgoing --- playbooks/roles/calico/templates/ippool.yml.j2 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/playbooks/roles/calico/templates/ippool.yml.j2 b/playbooks/roles/calico/templates/ippool.yml.j2 index 63ad7d0..45f7023 100644 --- a/playbooks/roles/calico/templates/ippool.yml.j2 +++ b/playbooks/roles/calico/templates/ippool.yml.j2 @@ -1,4 +1,6 @@ - apiVersion: v1 kind: ipPool metadata: - cidr: {{ calico_default_network }} \ No newline at end of file + cidr: {{ calico_default_network }} + spec: + nat-outgoing: true \ No newline at end of file From 3de01d52832c5a2d82432c2d94292481b3650911 Mon Sep 17 00:00:00 2001 From: liuxu Date: Wed, 5 Jul 2017 15:10:50 +0800 Subject: [PATCH 05/23] update lainlet role --- playbooks/roles/lainlet/meta/main.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/playbooks/roles/lainlet/meta/main.yaml b/playbooks/roles/lainlet/meta/main.yaml index d9f1714..d4b6013 100644 --- a/playbooks/roles/lainlet/meta/main.yaml +++ b/playbooks/roles/lainlet/meta/main.yaml @@ -1,2 +1,3 @@ dependencies: - - role: config \ No newline at end of file + - role: config + - role: libraries \ No newline at end of file From 3736c355c2336f05ac8f7bd49962f19269e35f48 Mon Sep 17 00:00:00 2001 From: kaizhang-shanxi Date: Thu, 6 Jul 2017 12:30:36 +0800 Subject: [PATCH 06/23] make compatible with centos7.3 --- playbooks/roles/bootstrap-binary-stop/tasks/main.yaml | 2 +- playbooks/roles/mysql/tasks/main.yaml | 5 ++--- playbooks/roles/prepare/tasks/main.yaml | 10 ++++++++++ playbooks/roles/registry/tasks/push.yml | 4 ++++ 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/playbooks/roles/bootstrap-binary-stop/tasks/main.yaml b/playbooks/roles/bootstrap-binary-stop/tasks/main.yaml index 78e5177..2bd9e68 100644 --- a/playbooks/roles/bootstrap-binary-stop/tasks/main.yaml +++ b/playbooks/roles/bootstrap-binary-stop/tasks/main.yaml @@ -14,7 +14,7 @@ - name: stop deployd service service: name=deployd state=stopped - when: deployd|success + when: deployd.stat.exists - name: test if networkd binary path exists stat: path=/usr/bin/networkd diff --git a/playbooks/roles/mysql/tasks/main.yaml b/playbooks/roles/mysql/tasks/main.yaml index 917f5f4..353f95a 100644 --- a/playbooks/roles/mysql/tasks/main.yaml +++ b/playbooks/roles/mysql/tasks/main.yaml @@ -13,8 +13,7 @@ - name: initialize databases command: | docker exec mysql_container mysql -uroot -e " - CREATE DATABASE console; - CREATE USER console@'%' identified by 'console'; - GRANT ALL ON console.* to console@'%'; + CREATE DATABASE IF NOT EXISTS console; + GRANT ALL ON console.* TO console@'%' IDENTIFIED BY 'console'; FLUSH PRIVILEGES; " diff --git a/playbooks/roles/prepare/tasks/main.yaml b/playbooks/roles/prepare/tasks/main.yaml index 57bc41a..1d47b63 100644 --- a/playbooks/roles/prepare/tasks/main.yaml +++ b/playbooks/roles/prepare/tasks/main.yaml @@ -9,14 +9,24 @@ - name: enable selinux selinux: policy=targeted state=permissive +- name: get stat of nscd.service + stat: path=/etc/systemd/system/nscd.service + register: nscd + ignore_errors: yes + - name: disable nscd service: name=nscd enabled=no state=stopped + when: nscd.stat.exists - name: load node info from etcd command: etcdctl get /lain/nodes/nodes/{{ node_name }}:{{ node_ip }}:{{ ssh_port }} register: result ignore_errors: yes +- name: delete any interface calico created previously + command: for interface in $(ip link show | grep cali | awk '{print $2}' | awk -F':' '{print $1}'); do ip link delete ${interface}; done + ignore_errors: yes + - set_fact: node_info: "{{result.stdout|from_json}}" when: result|success and result.stdout != "" diff --git a/playbooks/roles/registry/tasks/push.yml b/playbooks/roles/registry/tasks/push.yml index dd0ee7a..0491848 100644 --- a/playbooks/roles/registry/tasks/push.yml +++ b/playbooks/roles/registry/tasks/push.yml @@ -1,3 +1,7 @@ +- name: restart calico-felix + service: name=calico-felix state=restarted + ignore_errors: yes + - name: wait_for registry ready command: curl -m 2 http://registry.lain/v2/ register: result From 8feb2ffb7b767958fe9b34d7155346b487c58fdc Mon Sep 17 00:00:00 2001 From: kaizhang-shanxi Date: Thu, 6 Jul 2017 12:44:53 +0800 Subject: [PATCH 07/23] fix bootstrap command in bootstrap_test --- bootstrap_test/conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap_test/conftest.py b/bootstrap_test/conftest.py index d02862a..e056301 100644 --- a/bootstrap_test/conftest.py +++ b/bootstrap_test/conftest.py @@ -45,7 +45,7 @@ def up_node3(): def bootstrap(up_node1): subproc.check_call([ 'sudo', 'vagrant', 'ssh', 'node1', '-c', - 'sudo /vagrant/bootstrap -r registry.aliyuncs.com/laincloud --vip={}'. + 'sudo /vagrant/bootstrap -m https://l2ohopf9.mirror.aliyuncs.com -r docker.io/laincloud --vip={}'. format(CONFIG.vip) ]) From f9bae446012bb6893063318e27e8df232f5f98ad Mon Sep 17 00:00:00 2001 From: Yongzhi Pan Date: Fri, 7 Jul 2017 16:52:34 +0800 Subject: [PATCH 08/23] Add latest release info. --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 0b331cf..d7935b4 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,12 @@ Lain 是一个基于 docker 的 PaaS 系统。 - 统一开发测试生产三环境 - 持续交付工作流的良好支持 +## Latest Release + +- 最新版是2.1.0 +[下载](https://github.com/laincloud/lain/archive/2.1.0.tar.gz) +[release note](https://github.com/laincloud/lain/releases/tag/2.1.0) + ## Getting started 完整的文档在[这里](https://laincloud.gitbooks.io/white-paper/content/),其中: From fa0bf1f8e2a99d083f5f364343af9683283ffe34 Mon Sep 17 00:00:00 2001 From: liuxu Date: Thu, 13 Jul 2017 17:24:40 +0800 Subject: [PATCH 09/23] fix add node error --- playbooks/roles/node/meta/main.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/playbooks/roles/node/meta/main.yaml b/playbooks/roles/node/meta/main.yaml index ed3e355..67f61d0 100644 --- a/playbooks/roles/node/meta/main.yaml +++ b/playbooks/roles/node/meta/main.yaml @@ -6,6 +6,7 @@ dependencies: - role: firewall - role: dnsmasq - role: manager + - role: docker - role: calico - role: ssl - role: lainlet From 473ce034e45ecf3fab188e4426eca8d9352996e2 Mon Sep 17 00:00:00 2001 From: Yongzhi Pan Date: Fri, 7 Jul 2017 16:52:34 +0800 Subject: [PATCH 10/23] Add latest release info. # Conflicts: # README.md --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d7935b4..0f932bb 100644 --- a/README.md +++ b/README.md @@ -22,9 +22,10 @@ Lain 是一个基于 docker 的 PaaS 系统。 ## Latest Release -- 最新版是2.1.0 -[下载](https://github.com/laincloud/lain/archive/2.1.0.tar.gz) -[release note](https://github.com/laincloud/lain/releases/tag/2.1.0) +最新版是2.1.0。 + +- [下载](https://github.com/laincloud/lain/archive/2.1.0.tar.gz) +- [Release note](https://github.com/laincloud/lain/releases/tag/v2.1.0) ## Getting started From 9c11be77362cc1ece155328a30d62597f47cbea1 Mon Sep 17 00:00:00 2001 From: Yongzhi Pan Date: Mon, 10 Jul 2017 14:23:26 +0800 Subject: [PATCH 11/23] Add quick start note. --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0f932bb..ceb0888 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,16 @@ Lain 是一个基于 docker 的 PaaS 系统。 - [下载](https://github.com/laincloud/lain/archive/2.1.0.tar.gz) - [Release note](https://github.com/laincloud/lain/releases/tag/v2.1.0) -## Getting started +## Quick Start + +```shell +curl -fsSL https://github.com/laincloud/lain/archive/2.1.0.tar.gz | tar xf - +cd lain-2.1.0 +vagrant up +vagrant ssh +# In the Vagrant machine +cd /vagrant && sudo ./bootstrap -r docker.io/laincloud +``` 完整的文档在[这里](https://laincloud.gitbooks.io/white-paper/content/),其中: - [Demo Cluster](https://laincloud.gitbooks.io/white-paper/quickstart/demo.html) 展示了如何快速启动一个 Demo 集群 From 6428875cabbb01fe0ca059f4b48ee842dd9297bc Mon Sep 17 00:00:00 2001 From: kaizhang-shanxi Date: Tue, 18 Jul 2017 18:01:37 +0800 Subject: [PATCH 12/23] rm sudo when test bootstrap --- bootstrap_test/config.yaml | 2 +- bootstrap_test/conftest.py | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/bootstrap_test/config.yaml b/bootstrap_test/config.yaml index 80a1ef1..86090b5 100644 --- a/bootstrap_test/config.yaml +++ b/bootstrap_test/config.yaml @@ -12,4 +12,4 @@ ipaddr: client: appname: ipaddr-client procname: web - num_instances: 4 + num_instances: 2 diff --git a/bootstrap_test/conftest.py b/bootstrap_test/conftest.py index e056301..de5dcbc 100644 --- a/bootstrap_test/conftest.py +++ b/bootstrap_test/conftest.py @@ -10,41 +10,41 @@ @pytest.fixture(scope="session") def up_node1(): - subproc.check_call(['sudo', 'vagrant', 'destroy', '-f', 'node1']) - subproc.check_call(['sudo', 'vagrant', 'up', 'node1']) + subproc.check_call(['vagrant', 'destroy', '-f', 'node1']) + subproc.check_call(['vagrant', 'up', 'node1']) yield "node1 is ready" print("Destroying node1...") - subproc.call(['sudo', 'vagrant', 'destroy', '-f', 'node1']) + subproc.call(['vagrant', 'destroy', '-f', 'node1']) print("Node1 is destroyed.") @pytest.fixture(scope="session") def up_node2(): - subproc.check_call(['sudo', 'vagrant', 'destroy', '-f', 'node2']) - subproc.check_call(['sudo', 'vagrant', 'up', 'node2']) + subproc.check_call(['vagrant', 'destroy', '-f', 'node2']) + subproc.check_call(['vagrant', 'up', 'node2']) yield "node2 is ready" print("Destroying node2...") - subproc.call(['sudo', 'vagrant', 'destroy', '-f', 'node2']) + subproc.call(['vagrant', 'destroy', '-f', 'node2']) print("Node2 is destroyed.") @pytest.fixture(scope="session") def up_node3(): - subproc.check_call(['sudo', 'vagrant', 'destroy', '-f', 'node3']) - subproc.check_call(['sudo', 'vagrant', 'up', 'node3']) + subproc.check_call(['vagrant', 'destroy', '-f', 'node3']) + subproc.check_call(['vagrant', 'up', 'node3']) yield "node3 is ready" print("Destroying node3...") - subproc.call(['sudo', 'vagrant', 'destroy', '-f', 'node3']) + subproc.call(['vagrant', 'destroy', '-f', 'node3']) print("Node3 is destroyed.") @pytest.fixture(scope="session") def bootstrap(up_node1): subproc.check_call([ - 'sudo', 'vagrant', 'ssh', 'node1', '-c', + 'vagrant', 'ssh', 'node1', '-c', 'sudo /vagrant/bootstrap -m https://l2ohopf9.mirror.aliyuncs.com -r docker.io/laincloud --vip={}'. format(CONFIG.vip) ]) @@ -53,7 +53,7 @@ def bootstrap(up_node1): @pytest.fixture(scope="session") def prepare_demo_images(bootstrap): subproc.check_call([ - 'sudo', 'vagrant', 'ssh', 'node1', '-c', + 'vagrant', 'ssh', 'node1', '-c', 'sudo sh /vagrant/bootstrap_test/prepare_demo_images.sh' ]) @@ -78,12 +78,12 @@ def deploy_ipaddr(reposit_ipaddr): @pytest.fixture(scope="session") def add_node(bootstrap, up_node2, up_node3): subproc.check_call([ - 'sudo', 'vagrant', 'ssh', 'node1', '-c', + 'vagrant', 'ssh', 'node1', '-c', 'cd /vagrant/bootstrap_test && sudo ansible-playbook \ -i host_vars/test-nodes distribute_ssh_key.yaml' ]) subproc.check_call([ - 'sudo', 'vagrant', 'ssh', 'node1', '-c', + 'vagrant', 'ssh', 'node1', '-c', 'sudo lainctl node add -p /vagrant/playbooks node2:192.168.77.22 ' + 'node3:192.168.77.23' ]) @@ -93,4 +93,4 @@ def add_node(bootstrap, up_node2, up_node3): def scale_ipaddr_client(deploy_ipaddr, add_node): app_ctl.scale(CONFIG.ipaddr_client_appname, CONFIG.ipaddr_client_procname, CONFIG.ipaddr_client_num_instances) - time.sleep(60) + time.sleep(120) From ee4228778001b8b78983cea87c9cb26acd32c911 Mon Sep 17 00:00:00 2001 From: kaizhang-shanxi Date: Thu, 20 Jul 2017 18:12:57 +0800 Subject: [PATCH 13/23] increase retries --- playbooks/roles/bootstrap-console-deploy/tasks/main.yaml | 2 +- playbooks/roles/bootstrap-registry-push/tasks/main.yaml | 2 +- playbooks/roles/bootstrap-webrouter-stop/tasks/main.yaml | 2 +- playbooks/roles/console-deploy/tasks/main.yaml | 4 ++-- playbooks/roles/docker-version/tasks/main.yaml | 2 +- playbooks/roles/docker/tasks/main.yaml | 2 +- playbooks/roles/etcd/tasks/main.yaml | 4 ++-- playbooks/roles/moosefs/tasks/main.yaml | 2 +- playbooks/roles/rebellion/tasks/main.yaml | 4 ++-- playbooks/roles/registry/tasks/push.yml | 2 +- playbooks/roles/swarm-manage/tasks/main.yaml | 2 +- playbooks/roles/swarm-manage/tasks/swarm-manager.yaml | 2 +- playbooks/roles/swarm-upgrade/tasks/main.yaml | 4 ++-- 13 files changed, 17 insertions(+), 17 deletions(-) diff --git a/playbooks/roles/bootstrap-console-deploy/tasks/main.yaml b/playbooks/roles/bootstrap-console-deploy/tasks/main.yaml index 12b0e74..934e625 100644 --- a/playbooks/roles/bootstrap-console-deploy/tasks/main.yaml +++ b/playbooks/roles/bootstrap-console-deploy/tasks/main.yaml @@ -22,7 +22,7 @@ shell: "curl -s console.lain/api/v1/apps/{{ app }}/ | python -c \"import json, sys; print json.load(sys.stdin)['app']['procs'][0]['pods'][0]['containerid']\"" register: container_id until: container_id|success - retries: 5 + retries: 50 delay: 5 changed_when: False diff --git a/playbooks/roles/bootstrap-registry-push/tasks/main.yaml b/playbooks/roles/bootstrap-registry-push/tasks/main.yaml index dd0ee7a..3c6b26f 100644 --- a/playbooks/roles/bootstrap-registry-push/tasks/main.yaml +++ b/playbooks/roles/bootstrap-registry-push/tasks/main.yaml @@ -2,7 +2,7 @@ command: curl -m 2 http://registry.lain/v2/ register: result until: "result.stdout.startswith('{')" - retries: 5 + retries: 50 delay: 5 changed_when: False diff --git a/playbooks/roles/bootstrap-webrouter-stop/tasks/main.yaml b/playbooks/roles/bootstrap-webrouter-stop/tasks/main.yaml index cb13614..f347de8 100644 --- a/playbooks/roles/bootstrap-webrouter-stop/tasks/main.yaml +++ b/playbooks/roles/bootstrap-webrouter-stop/tasks/main.yaml @@ -23,6 +23,6 @@ shell: "curl -s registry.lain/v2/" register: result until: result|success - retries: 5 + retries: 50 delay: 5 changed_when: False diff --git a/playbooks/roles/console-deploy/tasks/main.yaml b/playbooks/roles/console-deploy/tasks/main.yaml index 025cd20..53c6d0a 100644 --- a/playbooks/roles/console-deploy/tasks/main.yaml +++ b/playbooks/roles/console-deploy/tasks/main.yaml @@ -8,7 +8,7 @@ shell: "curl -f http://console.lain/api/v1/repos/" register: console_ready until: console_ready.rc == 0 - retries: 5 + retries: 50 delay: 5 changed_when: False when: result|failed @@ -35,6 +35,6 @@ shell: "curl -s -H \"access-token: {{ access_token|default('unknown') }}\" console.lain/api/v1/apps/{{ app }}/ | python -c \"import json, sys; print json.load(sys.stdin)['app']['procs'][0]['pods'][0]['containerid']\"" register: container_id until: container_id|success - retries: 5 + retries: 50 delay: 5 changed_when: False diff --git a/playbooks/roles/docker-version/tasks/main.yaml b/playbooks/roles/docker-version/tasks/main.yaml index c4df738..87eae07 100644 --- a/playbooks/roles/docker-version/tasks/main.yaml +++ b/playbooks/roles/docker-version/tasks/main.yaml @@ -65,7 +65,7 @@ command: docker version -f "\{\{.Server.Version\}\}" register: current_docker_version until: current_docker_version.stdout - retries: 5 + retries: 50 delay: 5 changed_when: False diff --git a/playbooks/roles/docker/tasks/main.yaml b/playbooks/roles/docker/tasks/main.yaml index 75c77d9..8358f64 100644 --- a/playbooks/roles/docker/tasks/main.yaml +++ b/playbooks/roles/docker/tasks/main.yaml @@ -54,7 +54,7 @@ command: docker version -f "\{\{.Server.Version\}\}" register: current_docker_version until: current_docker_version.stdout - retries: 5 + retries: 50 delay: 5 changed_when: False diff --git a/playbooks/roles/etcd/tasks/main.yaml b/playbooks/roles/etcd/tasks/main.yaml index 9226c6a..7edf61a 100644 --- a/playbooks/roles/etcd/tasks/main.yaml +++ b/playbooks/roles/etcd/tasks/main.yaml @@ -32,7 +32,7 @@ shell: etcdctl cluster-health | grep "cluster is healthy" register: health_result until: health_result|success - retries: 5 + retries: 50 delay: 5 changed_when: False @@ -40,7 +40,7 @@ command: etcdctl set /lain/test test register: result until: result|success - retries: 5 + retries: 50 delay: 5 changed_when: False diff --git a/playbooks/roles/moosefs/tasks/main.yaml b/playbooks/roles/moosefs/tasks/main.yaml index 1a6a040..18611a9 100644 --- a/playbooks/roles/moosefs/tasks/main.yaml +++ b/playbooks/roles/moosefs/tasks/main.yaml @@ -28,6 +28,6 @@ command: mount /mfs register: mount_result until: mount_result|success - retries: 5 + retries: 50 delay: 5 when: result|failed diff --git a/playbooks/roles/rebellion/tasks/main.yaml b/playbooks/roles/rebellion/tasks/main.yaml index c85f4cb..bc94002 100644 --- a/playbooks/roles/rebellion/tasks/main.yaml +++ b/playbooks/roles/rebellion/tasks/main.yaml @@ -15,11 +15,11 @@ shell: "docker ps | grep rebellion.service" register: result until: result|success - retries: 5 + retries: 50 delay: 5 changed_when: False - name: deploy rsyslog config template: src=10-docker-rsyslog.conf.j2 dest=/etc/rsyslog.d/10-docker-rsyslog.conf notify: - - restart rsyslog \ No newline at end of file + - restart rsyslog diff --git a/playbooks/roles/registry/tasks/push.yml b/playbooks/roles/registry/tasks/push.yml index 0491848..469fb55 100644 --- a/playbooks/roles/registry/tasks/push.yml +++ b/playbooks/roles/registry/tasks/push.yml @@ -6,7 +6,7 @@ command: curl -m 2 http://registry.lain/v2/ register: result until: "result.stdout.startswith('{')" - retries: 5 + retries: 50 delay: 5 changed_when: False diff --git a/playbooks/roles/swarm-manage/tasks/main.yaml b/playbooks/roles/swarm-manage/tasks/main.yaml index 7911bfc..d46643e 100644 --- a/playbooks/roles/swarm-manage/tasks/main.yaml +++ b/playbooks/roles/swarm-manage/tasks/main.yaml @@ -12,7 +12,7 @@ command: etcdctl ls {{ swarm_discovery_path }}/{{ node_ip }}:{{ docker_port }} register: result until: result|success - retries: 5 + retries: 50 delay: 5 changed_when: False diff --git a/playbooks/roles/swarm-manage/tasks/swarm-manager.yaml b/playbooks/roles/swarm-manage/tasks/swarm-manager.yaml index e354ad4..f87ade5 100644 --- a/playbooks/roles/swarm-manage/tasks/swarm-manager.yaml +++ b/playbooks/roles/swarm-manage/tasks/swarm-manager.yaml @@ -12,7 +12,7 @@ shell: "docker -H tcp://{{ node_ip }}:{{ swarm_manager_port }} info | grep 'Nodes: ' | awk '{ print $2 }'" register: swarm_cluster_nodes until: swarm_cluster_nodes.stdout|int > 0 - retries: 5 + retries: 50 delay: 5 changed_when: False diff --git a/playbooks/roles/swarm-upgrade/tasks/main.yaml b/playbooks/roles/swarm-upgrade/tasks/main.yaml index 6615cb3..0113022 100644 --- a/playbooks/roles/swarm-upgrade/tasks/main.yaml +++ b/playbooks/roles/swarm-upgrade/tasks/main.yaml @@ -22,7 +22,7 @@ command: etcdctl ls {{ swarm_discovery_path }}/{{ node_ip }}:{{ docker_port }} register: result until: result|success - retries: 5 + retries: 50 delay: 5 changed_when: False @@ -52,7 +52,7 @@ shell: "docker -H swarm.lain:{{ swarm_manager_port }} info | grep 'Nodes: ' | awk '{ print $2 }'" register: swarm_cluster_nodes until: swarm_cluster_nodes.stdout|int == {{ groups['nodes'] | length }} - retries: 5 + retries: 50 delay: 5 changed_when: False From 5f6f6f4e028cdc2370aa21db0126bc0d2ebe6b0e Mon Sep 17 00:00:00 2001 From: Silverglass Date: Thu, 27 Jul 2017 19:17:50 +0800 Subject: [PATCH 14/23] delete pip-binary delete pip-binary --- playbooks/roles/bootstrap-images/vars/main.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/playbooks/roles/bootstrap-images/vars/main.yaml b/playbooks/roles/bootstrap-images/vars/main.yaml index dd78b1b..d5bcba8 100644 --- a/playbooks/roles/bootstrap-images/vars/main.yaml +++ b/playbooks/roles/bootstrap-images/vars/main.yaml @@ -4,7 +4,6 @@ "bootstrap_images": { "swarm": "swarm:1.2.5", "rebellion": "rebellion:v2.3.0", - "pip_binary": "pip-binary:1495177245", "mysql": "mysql-server:5.6.30", "registry": "registry:release-1498029368-2c74d73cef3f020dd1dd6fcf9e1933112a2c67cc", "registry-meta": "registry:meta-1498029368-2c74d73cef3f020dd1dd6fcf9e1933112a2c67cc", From 42f043bb4ed312a6cbd814f4af55c372d6cdff74 Mon Sep 17 00:00:00 2001 From: "P. Y" Date: Fri, 28 Jul 2017 09:54:59 +0800 Subject: [PATCH 15/23] Fix release links. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ceb0888..dc19765 100644 --- a/README.md +++ b/README.md @@ -24,13 +24,13 @@ Lain 是一个基于 docker 的 PaaS 系统。 最新版是2.1.0。 -- [下载](https://github.com/laincloud/lain/archive/2.1.0.tar.gz) +- [下载](https://github.com/laincloud/lain/archive/v2.1.0.tar.gz) - [Release note](https://github.com/laincloud/lain/releases/tag/v2.1.0) ## Quick Start ```shell -curl -fsSL https://github.com/laincloud/lain/archive/2.1.0.tar.gz | tar xf - +curl -fsSL https://github.com/laincloud/lain/archive/v2.1.0.tar.gz | tar xf - cd lain-2.1.0 vagrant up vagrant ssh From 3a3a9fa5f0cde6bf494067e309aff5689f4ba988 Mon Sep 17 00:00:00 2001 From: wenbinmeng Date: Tue, 1 Aug 2017 12:05:52 +0800 Subject: [PATCH 16/23] Fixed bug for blkio stats --- .../files/plugins/lain/lain_docker.py | 53 ++++++++++++++----- 1 file changed, 40 insertions(+), 13 deletions(-) diff --git a/playbooks/roles/collectd/files/plugins/lain/lain_docker.py b/playbooks/roles/collectd/files/plugins/lain/lain_docker.py index 0bd20d9..e59364f 100755 --- a/playbooks/roles/collectd/files/plugins/lain/lain_docker.py +++ b/playbooks/roles/collectd/files/plugins/lain/lain_docker.py @@ -13,6 +13,7 @@ class Plugin: + @classmethod def create_record(cls, metric, value, lain_info, metric_type="GAUGE"): interval = CONFIGS['interval'] @@ -26,15 +27,21 @@ def create_record(cls, metric, value, lain_info, metric_type="GAUGE"): class CpuStats(Plugin): + @classmethod def get(cls, stats, lain_info): - # docker cpu stats is nanoseconds, plus 100 for percent, *100/1e9 = /1e7 - cls.create_record("cpu.total", int(int(stats["cpu_stats"]["cpu_usage"]["total_usage"])/1e7), lain_info) - cls.create_record("cpu.user", int(int(stats["cpu_stats"]["cpu_usage"]["usage_in_usermode"])/1e7), lain_info) - cls.create_record("cpu.kernel", int(int(stats["cpu_stats"]["cpu_usage"]["usage_in_kernelmode"])/1e7), lain_info) + # docker cpu stats is nanoseconds, plus 100 for percent, *100/1e9 = + # /1e7 + cls.create_record("cpu.total", int( + int(stats["cpu_stats"]["cpu_usage"]["total_usage"]) / 1e7), lain_info) + cls.create_record("cpu.user", int( + int(stats["cpu_stats"]["cpu_usage"]["usage_in_usermode"]) / 1e7), lain_info) + cls.create_record("cpu.kernel", int( + int(stats["cpu_stats"]["cpu_usage"]["usage_in_kernelmode"]) / 1e7), lain_info) class MemoryStats(Plugin): + @classmethod def get(cls, stats, lain_info): usage = stats["memory_stats"]["usage"] @@ -62,12 +69,25 @@ def get(cls, stats, lain_info): "sectors_recursive": [] } """ + +# blkio-io_service_bytes_recursive-253-0-READ +BLKIO_KEY_FORMAT = 'blkio.%s-%s-%s-%s' + + class BlkioStats(Plugin): + @classmethod def get(cls, stats, lain_info): for stat, value in stats["blkio_stats"].iteritems(): + blk_stats = {} for item in value: - cls.create_record("blkio.%s-%s" % (stat, item['op']), item['value'], lain_info, "COUNTER") + key = BLKIO_KEY_FORMAT % ( + stat, item['major'], item['minor'], item['op']) + blk_stats[key] = item['value'] + + for key, value in blk_stats.iteritems(): + cls.create_record( + key, value, lain_info, "COUNTER") """ @@ -82,14 +102,18 @@ def get(cls, stats, lain_info): "tx_packets": 0 }, """ + + class NetworkStats(Plugin): + @classmethod def get(cls, stats, lain_info): if "networks" not in stats: return for interface in stats["networks"]: for stat in stats["networks"][interface]: - cls.create_record("net.%s-%s" % (interface, stat), stats["networks"][interface][stat], lain_info, "COUNTER") + cls.create_record("net.%s-%s" % (interface, stat), + stats["networks"][interface][stat], lain_info, "COUNTER") class Docker: @@ -123,7 +147,6 @@ def get_all_running_containers(cls): return result - class Lainlet(object): def __init__(self, url, hostname): @@ -149,7 +172,8 @@ def get_containers(self): return info def get_depends(self): - # portal: DOMAIN.app.[SERVICE|RESOURCE].portal.PORTALNAME.APPNAME.NODENAME.(instance.NO.) + # portal: + # DOMAIN.app.[SERVICE|RESOURCE].portal.PORTALNAME.APPNAME.NODENAME.(instance.NO.) url = "%s/v2/depends" % (self.url) r = urllib.urlopen(url) depends = json.loads(r.read()) @@ -158,12 +182,14 @@ def get_depends(self): for host, hval in val.iteritems(): for app, aval in hval.iteritems(): service_name, _, _ = key.rsplit('.', 2) - service_name = service_name.replace('.', '_') # for resource + service_name = service_name.replace( + '.', '_') # for resource name = "%s-%s-%s" % (key, host, app) info[name] = {} info[name]['app_name'] = app info[name]['node_name'] = host - info[name]['portal_name'] = json.loads(aval['Annotation'])['service_name'] + info[name]['portal_name'] = json.loads( + aval['Annotation'])['service_name'] info[name]['service_name'] = service_name info[name]['proc_name'] = None info[name]['proc_type'] = None @@ -207,9 +233,9 @@ def get_info(cls, containers, depends, container_id, container_name): if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("--lainlet-endpoint", help="lainlet endpoint", - default="http://lainlet.lain:9001", type=str) + default="http://lainlet.lain:9001", type=str) parser.add_argument("--domain", help="lain domain", - default="lain.local", type=str) + default="lain.local", type=str) args = parser.parse_args() CONFIGS['domain'] = args.domain.replace('.', '_') lainlet = Lainlet(args.lainlet_endpoint, CONFIGS['hostname']) @@ -225,7 +251,8 @@ def get_info(cls, containers, depends, container_id, container_name): container_name = container["Names"][0].strip('/') container_id = container["Id"] stats = Docker.get_stats(container_id) - lain_info = lainlet.get_info(containers, depends, container_id, container_name) + lain_info = lainlet.get_info( + containers, depends, container_id, container_name) for klass in CLASSES: klass.get(stats, lain_info) From 9044db623be8d352bc482f6cba73ac767938801d Mon Sep 17 00:00:00 2001 From: Silverglass Date: Tue, 1 Aug 2017 20:20:33 +0800 Subject: [PATCH 17/23] add auto bootstrap for node1 --- Vagrantfile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Vagrantfile b/Vagrantfile index 778a79f..bd5c4e8 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -13,6 +13,13 @@ Vagrant.configure(2) do |config| node.vm.provider "virtualbox" do |v| v.memory = i == 1 ? 1536 : 512 end + + if i == 1 + node.vm.provision "shell", + inline: "sudo /vagrant/bootstrap "\ + "-m https://l2ohopf9.mirror.aliyuncs.com "\ + "-r docker.io/laincloud --vip=192.168.77.201" + end node.vm.network "private_network", ip: "192.168.77.2#{i}" From 7e1eae1af941dbaecd2b148510508fce49c80aba Mon Sep 17 00:00:00 2001 From: renjs Date: Thu, 3 Aug 2017 18:13:56 +0800 Subject: [PATCH 18/23] update README.md --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index dc19765..2ff75ab 100644 --- a/README.md +++ b/README.md @@ -33,9 +33,13 @@ Lain 是一个基于 docker 的 PaaS 系统。 curl -fsSL https://github.com/laincloud/lain/archive/v2.1.0.tar.gz | tar xf - cd lain-2.1.0 vagrant up -vagrant ssh -# In the Vagrant machine -cd /vagrant && sudo ./bootstrap -r docker.io/laincloud +# Config DNS in local shell +sudo bash -c 'echo "192.168.77.201 console.lain.local" >> /etc/hosts' +``` + +初始化完成后即可在浏览器访问console: +``` +http://console.lain.local ``` 完整的文档在[这里](https://laincloud.gitbooks.io/white-paper/content/),其中: From 6c588c8c546028c37cd10f78a211bced26f5c0d1 Mon Sep 17 00:00:00 2001 From: kaizhang-shanxi Date: Fri, 25 Aug 2017 15:56:54 +0800 Subject: [PATCH 19/23] rm pip-binary --- playbooks/roles/config/defaults/main.yaml | 5 --- playbooks/roles/packages/meta/main.yaml | 3 -- playbooks/roles/packages/tasks/install.yaml | 39 --------------------- playbooks/roles/packages/tasks/main.yaml | 23 ++++++++---- 4 files changed, 17 insertions(+), 53 deletions(-) delete mode 100644 playbooks/roles/packages/tasks/install.yaml diff --git a/playbooks/roles/config/defaults/main.yaml b/playbooks/roles/config/defaults/main.yaml index 7ede3a0..9ec1a26 100644 --- a/playbooks/roles/config/defaults/main.yaml +++ b/playbooks/roles/config/defaults/main.yaml @@ -96,11 +96,6 @@ manager_home: /root mysql_data_dir: "{{ lain_data_dir }}/mysql" mysql_image: "{{ bootstrap_images.mysql }}" -# Python pip configurations -pip_binary_image: "{{ bootstrap_images.pip_binary }}" -pip_binary_cp_path: "{{ lain_data_dir }}/aux/binary/{{ pip_binary_image.replace('/', '_') }}" -pip_binary_path: "{{ pip_binary_cp_path }}/binary" - # Rebellion configurations rebellion_rsyslog_tcp_port: 8178 rebellion_image: "{{ bootstrap_images.rebellion }}" diff --git a/playbooks/roles/packages/meta/main.yaml b/playbooks/roles/packages/meta/main.yaml index d6c6c16..ecd1c42 100644 --- a/playbooks/roles/packages/meta/main.yaml +++ b/playbooks/roles/packages/meta/main.yaml @@ -1,5 +1,2 @@ dependencies: - role: config - - role: images - images: - - pip_binary diff --git a/playbooks/roles/packages/tasks/install.yaml b/playbooks/roles/packages/tasks/install.yaml deleted file mode 100644 index 0620931..0000000 --- a/playbooks/roles/packages/tasks/install.yaml +++ /dev/null @@ -1,39 +0,0 @@ -- name: check if pip_binary container exists - command: docker inspect pip_binary - register: check_container - ignore_errors: yes - changed_when: False - -- name: create pip_binary container - command: docker create --name pip_binary {{ pip_binary_image }} /bin/bash - when: check_container|failed - -- name: create pip_binary directory - file: path="{{ pip_binary_cp_path }}" state=directory - -- name: extract files from pip_binary container - command: docker cp pip_binary:/binary {{ pip_binary_cp_path }}/ - args: - creates: "{{ pip_binary_path }}" - -- name: remove pip_binary container - command: docker rm pip_binary - -- name: install pip - yum: pkg=python-pip - -- name: install python packages - command: pip install --upgrade --force-reinstall --use-wheel --no-index --find-links={{ pip_binary_path }}/pip/wheelhouse {{ item }} - with_items: - - pip - - python-dateutil==2.5.2 - - python-etcd==0.4.3 - - docker-py==1.8.0 - - psutil==4.1.0 - - requests==2.11.1 - register: result - changed_when: "'Successfully installed' in result.stdout" - -- name: install lainctl - command: pip install --upgrade --force-reinstall --use-wheel --no-index --find-links={{ pip_binary_path }}/pip/wheelhouse lain_admin_cli==v2.0.1 - when: bootstrapping is defined and bootstrapping|bool diff --git a/playbooks/roles/packages/tasks/main.yaml b/playbooks/roles/packages/tasks/main.yaml index 561cfc4..45a9b80 100644 --- a/playbooks/roles/packages/tasks/main.yaml +++ b/playbooks/roles/packages/tasks/main.yaml @@ -1,7 +1,18 @@ -# install required system packages -- name: test if pip-binary path exists - stat: path={{ pip_binary_path }} - register: result_path +- name: install pip + yum: pkg=python-pip -- include: install.yaml - when: not result_path.stat.exists +- name: install python packages + command: pip install --upgrade --force-reinstall {{ item }} + with_items: + - pip + - python-dateutil==2.5.2 + - python-etcd==0.4.3 + - docker-py==1.8.0 + - psutil==4.1.0 + - requests==2.11.1 + register: result + changed_when: "'Successfully installed' in result.stdout" + +- name: install lainctl + command: pip install --upgrade --force-reinstall lain-admin-cli==v2.0.3 + when: bootstrapping is defined and bootstrapping|bool From db89b379a03abe2753aadb35e8836be69f2995c5 Mon Sep 17 00:00:00 2001 From: Yongzhi Pan Date: Tue, 8 Aug 2017 15:02:06 +0800 Subject: [PATCH 20/23] Bump version to v2.1.1. # close #178 --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 2ff75ab..a9b7081 100644 --- a/README.md +++ b/README.md @@ -22,16 +22,16 @@ Lain 是一个基于 docker 的 PaaS 系统。 ## Latest Release -最新版是2.1.0。 +最新版是2.1.1。 -- [下载](https://github.com/laincloud/lain/archive/v2.1.0.tar.gz) -- [Release note](https://github.com/laincloud/lain/releases/tag/v2.1.0) +- [下载](https://github.com/laincloud/lain/archive/v2.1.1.tar.gz) +- [Release note](https://github.com/laincloud/lain/releases/tag/v2.1.1) ## Quick Start ```shell -curl -fsSL https://github.com/laincloud/lain/archive/v2.1.0.tar.gz | tar xf - -cd lain-2.1.0 +curl -fsSL https://github.com/laincloud/lain/archive/v2.1.1.tar.gz | tar xf - +cd lain-2.1.1 vagrant up # Config DNS in local shell sudo bash -c 'echo "192.168.77.201 console.lain.local" >> /etc/hosts' From 262cef1026b62f0f1501a56fe063ab94970326de Mon Sep 17 00:00:00 2001 From: liuxu Date: Mon, 28 Aug 2017 16:54:30 +0800 Subject: [PATCH 21/23] add ipip suport --- playbooks/roles/bootstrap-images/vars/main.yaml | 4 ++-- playbooks/roles/calico/templates/ippool.yml.j2 | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/playbooks/roles/bootstrap-images/vars/main.yaml b/playbooks/roles/bootstrap-images/vars/main.yaml index d5bcba8..6949ef9 100644 --- a/playbooks/roles/bootstrap-images/vars/main.yaml +++ b/playbooks/roles/bootstrap-images/vars/main.yaml @@ -13,8 +13,8 @@ "webrouter-meta": "webrouter:meta-1497430313-fa743a7d70301660065d6e636a18dab5fda3173c", "console": "console:release-1498028442-2801ed55f0293ce3b0f2ab3d10a36ad9cc456539", "console-meta": "console:meta-1498028442-2801ed55f0293ce3b0f2ab3d10a36ad9cc456539", - "backupctl-meta": "backupctl:meta-1497618290-9f52077823a786fa0d6dd96eb63151213d55a28f", - "backupctl": "backupctl:release-1497618290-9f52077823a786fa0d6dd96eb63151213d55a28f", + "backupctl-meta": "backupctl:meta-1498032948-eb5dc315425981a4ab59e7515627b8b34ef8ed5c", + "backupctl": "backupctl:release-1498032948-eb5dc315425981a4ab59e7515627b8b34ef8ed5c", "lvault-meta": "lvault:meta-1485154203-73072c92b1862ab470b8d872b278f734747b0739", "lvault": "lvault:release-1485154203-73072c92b1862ab470b8d872b278f734747b0739" } diff --git a/playbooks/roles/calico/templates/ippool.yml.j2 b/playbooks/roles/calico/templates/ippool.yml.j2 index 45f7023..38617de 100644 --- a/playbooks/roles/calico/templates/ippool.yml.j2 +++ b/playbooks/roles/calico/templates/ippool.yml.j2 @@ -3,4 +3,9 @@ metadata: cidr: {{ calico_default_network }} spec: +{% if calico_ipip|bool %} + ipip: + enabled: true + mode: always +{% endif %} nat-outgoing: true \ No newline at end of file From 8df5f0c3bd1ebde25a6740c1adf1eb0ce0d07e37 Mon Sep 17 00:00:00 2001 From: kaizhang-shanxi Date: Wed, 30 Aug 2017 17:17:40 +0800 Subject: [PATCH 22/23] fix test --- bootstrap_test/conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap_test/conftest.py b/bootstrap_test/conftest.py index de5dcbc..c011bc2 100644 --- a/bootstrap_test/conftest.py +++ b/bootstrap_test/conftest.py @@ -11,7 +11,7 @@ @pytest.fixture(scope="session") def up_node1(): subproc.check_call(['vagrant', 'destroy', '-f', 'node1']) - subproc.check_call(['vagrant', 'up', 'node1']) + subproc.check_call(['vagrant', 'up', 'node1', '--no-provision']) yield "node1 is ready" print("Destroying node1...") From 128fc3a84fa6b32e52b60f6e3b0d95e72a446636 Mon Sep 17 00:00:00 2001 From: liuxu Date: Wed, 30 Aug 2017 18:53:18 +0800 Subject: [PATCH 23/23] update calico role --- playbooks/roles/calico/tasks/main.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/playbooks/roles/calico/tasks/main.yaml b/playbooks/roles/calico/tasks/main.yaml index f51e442..6fc0d71 100644 --- a/playbooks/roles/calico/tasks/main.yaml +++ b/playbooks/roles/calico/tasks/main.yaml @@ -77,6 +77,7 @@ - name: generate ippool.yml template: src=ippool.yml.j2 dest=/etc/calico/ippool.yml + when: bootstrapping is defined and bootstrapping|bool - name: generate bird.cfg.mesh.template template: src=bird.cfg.mesh.template.j2 dest=/etc/calico/confd/templates/bird.cfg.mesh.template @@ -176,6 +177,7 @@ - name: create calico ippool command: calicoctl apply -f /etc/calico/ippool.yml + when: bootstrapping is defined and bootstrapping|bool - name: check if some network exist shell: docker network ls | grep {{ item }}