Skip to content
This repository was archived by the owner on Jan 30, 2020. It is now read-only.
This repository was archived by the owner on Jan 30, 2020. It is now read-only.

systemd unit with fleet commands fails after CoreOS update #1331

@slintes

Description

@slintes

Hi,

after updating CoreOS to version 774.0.0, which contains a new fleet version (0.11.4) according to the release notes, a systemd unit does not work anymore, which runs several fleet commands. Since there are no problems with CoreOS 773.1.0, I assume fleet is the problem.

systemd unit (part of cloud init):

       - name: kubernetes.service
         content: |
             [Unit]
             Description=Kubernetes Start script
             Requires=etcd2.service fleet.service
             After=etcd2.service fleet.service

             [Service]
             Type=oneshot
             RemainAfterExit=yes
             # wait for fleet...
             ExecStart=/usr/bin/sleep 5
             ExecStart=/usr/bin/fleetctl start --no-block /home/core/fleet-units/kube-apiserver.service
             ExecStart=/usr/bin/fleetctl start --no-block /home/core/fleet-units/kube-proxy.service
             ExecStart=/usr/bin/fleetctl start --no-block /home/core/fleet-units/kube-scheduler.service
             ExecStart=/usr/bin/fleetctl start --no-block /home/core/fleet-units/kube-controller-manager.service
             ExecStart=/usr/bin/fleetctl start --no-block /home/core/fleet-units/kube-kubelet.service
             ExecStart=/home/core/bin/create-k8s-env.sh

kube-apiserver.service:

[Unit]
Description=Kubernetes API Server
Documentation=https://github.com/GoogleCloudPlatform/kubernetes

[Service]
ExecStart=/opt/bin/kube-apiserver \
    --insecure-bind-address=0.0.0.0 \
    --insecure-port=10260 \
    --bind-address=0.0.0.0 \
    --secure-port=10270 \
    --kubelet-https=true \
    --etcd-servers=http://172.17.8.20:2379 \
    --service-cluster-ip-range=10.0.0.0/16 \
    --runtime-config=api/v1 \
    --allow-privileged=true \
    --logtostderr=true \
    --v=3
Restart=always
RestartSec=10

[X-Fleet]
MachineMetadata=role=etcd

kube-proxy.service:

[Unit]
Description=Kubernetes Proxy
Documentation=https://github.com/GoogleCloudPlatform/kubernetes

[Service]
ExecStart=/opt/bin/kube-proxy \
    --master=http://172.17.8.20:10260 \
    --logtostderr=true \
    --v=3
Restart=always
RestartSec=10

[X-Fleet]
Global=true

With fleet 0.11.4 only kube-apiserver.service is started, the other ExecStart commands are not executed:

core@controller ~ $ journalctl -u kubernetes
-- Logs begin at Tue 2015-08-18 16:07:58 UTC, end at Tue 2015-08-18 16:26:05 UTC. --
Aug 18 16:09:03 controller systemd[1]: Starting Kubernetes Start script...
Aug 18 16:09:08 controller fleetctl[1372]: Unit kube-apiserver.service inactive
Aug 18 16:09:08 controller fleetctl[1372]: Triggered unit kube-apiserver.service start

core@controller ~ $ journalctl -u fleet
-- Logs begin at Tue 2015-08-18 16:07:58 UTC, end at Tue 2015-08-18 16:26:05 UTC. --
Aug 18 16:09:03 controller systemd[1]: Started fleet daemon.
Aug 18 16:09:03 controller systemd[1]: Starting fleet daemon...
Aug 18 16:09:03 controller fleetd[1273]: INFO fleetd.go:64: Starting fleetd version 0.11.4
Aug 18 16:09:03 controller fleetd[1273]: INFO fleetd.go:168: No provided or default config file found - proceeding without
Aug 18 16:09:03 controller fleetd[1273]: INFO server.go:157: Establishing etcd connectivity
Aug 18 16:09:04 controller fleetd[1273]: INFO server.go:168: Starting server components
Aug 18 16:09:04 controller fleetd[1273]: INFO engine.go:159: Updated cluster engine version from 0 to 1
Aug 18 16:09:04 controller fleetd[1273]: INFO engine.go:185: Engine leadership acquired
Aug 18 16:09:08 controller fleetd[1273]: INFO engine.go:271: Scheduled Unit(kube-apiserver.service) to Machine(f770c5bb3a5a44788e811cf439ee9b81)
Aug 18 16:09:08 controller fleetd[1273]: INFO reconciler.go:161: EngineReconciler completed task: {Type: AttemptScheduleUnit, JobName: kube-apiserver.service, MachineID: f770c5bb3a5a44788e811cf439ee9b81, Re
Aug 18 16:09:09 controller fleetd[1273]: INFO manager.go:246: Writing systemd unit kube-apiserver.service (540b)
Aug 18 16:09:09 controller fleetd[1273]: INFO manager.go:182: Instructing systemd to reload units
Aug 18 16:09:09 controller fleetd[1273]: INFO manager.go:127: Triggered systemd unit kube-apiserver.service start: job=3002
Aug 18 16:09:09 controller fleetd[1273]: INFO reconcile.go:330: AgentReconciler completed task: type=LoadUnit job=kube-apiserver.service reason="unit scheduled here but not loaded"
Aug 18 16:09:09 controller fleetd[1273]: INFO reconcile.go:330: AgentReconciler completed task: type=ReloadUnitFiles job=N/A reason="always reload unit files"
Aug 18 16:09:09 controller fleetd[1273]: INFO reconcile.go:330: AgentReconciler completed task: type=StartUnit job=kube-apiserver.service reason="unit currently loaded but desired state is launched"

core@controller ~ $ fleetctl list-units
UNIT            MACHINE         ACTIVE  SUB
kube-apiserver.service  f770c5bb.../172.17.8.20 active  running

Any ideas what is going wrong?

Thanks and greetings,

Marc

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions