Etcd container failed to start in all-in-one setup

Bug #1790415 reported by hongbin on 2018-09-02
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
kolla-ansible
Undecided
Unassigned

Bug Description

In a all-in-one setup with etcd enabled, the etcd container failed to start. Below is the logs:

+ sudo -E kolla_set_configs
INFO:__main__:Loading config file at /var/lib/kolla/config_files/config.json
INFO:__main__:Validating config file
INFO:__main__:Kolla config strategy set to: COPY_ALWAYS
INFO:__main__:Writing out command to execute
++ cat /run_command
+ CMD=etcd
+ ARGS=
+ [[ ! -n '' ]]
+ . kolla_extend_start
++ [[ ! -d /var/log/kolla/etcd ]]
+++ stat -c %a /var/log/kolla/etcd
++ [[ 755 != \7\5\5 ]]
+++ stat -c %U /var/lib/etcd/
++ [[ etcd != \e\t\c\d ]]
+ echo 'Running command: '\''etcd'\'''
Running command: 'etcd'
+ exec etcd
2018-09-02 20:04:44.944380 I | pkg/flags: recognized and used environment variable ETCD_ADVERTISE_CLIENT_URLS=http://158.69.94.91:2379
2018-09-02 20:04:44.944468 I | pkg/flags: recognized and used environment variable ETCD_DATA_DIR=/var/lib/etcd
2018-09-02 20:04:44.944493 I | pkg/flags: recognized and used environment variable ETCD_INITIAL_ADVERTISE_PEER_URLS=http://158.69.94.91:2380
2018-09-02 20:04:44.944515 I | pkg/flags: recognized and used environment variable ETCD_INITIAL_CLUSTER=primary=http://158.69.94.91:2380,primary=http://158.69.94.91:2380
2018-09-02 20:04:44.944532 I | pkg/flags: recognized and used environment variable ETCD_INITIAL_CLUSTER_STATE=new
2018-09-02 20:04:44.944548 I | pkg/flags: recognized and used environment variable ETCD_INITIAL_CLUSTER_TOKEN=xWDlUog0M5IsX8EpJTrkY66uIZTBBW6ZmExngRne
2018-09-02 20:04:44.944565 I | pkg/flags: recognized and used environment variable ETCD_LISTEN_CLIENT_URLS=http://158.69.94.91:2379
2018-09-02 20:04:44.944583 I | pkg/flags: recognized and used environment variable ETCD_LISTEN_PEER_URLS=http://158.69.94.91:2380
2018-09-02 20:04:44.944607 I | pkg/flags: recognized and used environment variable ETCD_NAME=primary
2018-09-02 20:04:44.944651 W | pkg/flags: unrecognized environment variable ETCD_OUT_FILE=/var/log/kolla/etcd/etcd.log
2018-09-02 20:04:44.944697 I | etcdmain: etcd Version: 3.2.17
2018-09-02 20:04:44.944722 I | etcdmain: Git SHA: Not provided (use ./build instead of go build)
2018-09-02 20:04:44.944743 I | etcdmain: Go Version: go1.10
2018-09-02 20:04:44.944760 I | etcdmain: Go OS/Arch: linux/amd64
2018-09-02 20:04:44.944773 I | etcdmain: setting maximum number of CPUs to 8, total number of available CPUs is 8
2018-09-02 20:04:44.946547 N | etcdmain: the server is already initialized as member before, starting as etcd member...
2018-09-02 20:04:44.946837 I | embed: listening for peers on http://158.69.94.91:2380
2018-09-02 20:04:44.946918 I | embed: listening for client requests on 158.69.94.91:2379
2018-09-02 20:04:44.959634 I | etcdmain: --initial-cluster must include primary=http://158.69.94.91:2380 given --initial-advertise-peer-urls=http://158.69.94.91:2380

Reviewed: https://review.openstack.org/599265
Committed: https://git.openstack.org/cgit/openstack/kolla-ansible/commit/?id=d29ecbd64c8ec1bfc2a266899c915d07988260f8
Submitter: Zuul
Branch: master

commit d29ecbd64c8ec1bfc2a266899c915d07988260f8
Author: Hongbin Lu <email address hidden>
Date: Sun Sep 2 22:16:22 2018 +0000

    Run etcd on controller node only

    In before, etcd container is launched in compute node if kuryr is
    enabled. This logic breaks the all-in-one setup in which the etcd
    cluster is configured with two members (controller and compute)
    but it actually has one member only.

    However, even if kuryr is enabled, running etcd in compute node
    is not the common practice and kuryr has changed its devstack
    plugin to run etcd on controller only [1].

    [1] https://review.openstack.org/#/c/514815/

    Closes-Bug: #1790415
    Change-Id: I701d495675178c3ed8ec1f00b31d09f198b38a6f

Changed in kolla-ansible:
status: New → Fix Released

Reviewed: https://review.openstack.org/599736
Committed: https://git.openstack.org/cgit/openstack/kolla-ansible/commit/?id=ee7a29cf00d1808fbd0d90be2dc5daf927d07abf
Submitter: Zuul
Branch: master

commit ee7a29cf00d1808fbd0d90be2dc5daf927d07abf
Author: Mark Goddard <email address hidden>
Date: Tue Sep 4 18:51:27 2018 +0100

    Remove compute hosts from etcd group

    Since I701d495675178c3ed8ec1f00b31d09f198b38a6f merged, etcd only runs
    on the control hosts, not the compute hosts. We therefore no longer
    require the etcd group to include the compute hosts.

    Since the group mapping is now static, we can remove the use of
    host_in_groups from the etcd service, in favour of the simpler method of
    specifying the group.

    Change-Id: Id8f888d7321a30a85ff95e742f7e6c8e2b9c696f
    Related-Bug: #1790415

This issue was fixed in the openstack/kolla-ansible 8.0.0.0b1 development milestone.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers