[Unit] Description=calico node [Service] User=root Environment=ETCD_ENDPOINTS={{ connection_string }} # Setting LC_ALL and LANG works around a bug that only occurs on Xenial # https://bugs.launchpad.net/bugs/1911220 Environment=LC_ALL={{ lc_all }} Environment=LANG={{ lang }} PermissionsStartOnly=true ExecStartPre=-/usr/local/sbin/charm-env --charm calico conctl delete calico-node ExecStartPre=/bin/mkdir -p /var/run/calico /var/log/calico /var/lib/calico ExecStart=/usr/local/sbin/charm-env --charm calico conctl run \ --rm \ --net-host \ --privileged \ --env ETCD_ENDPOINTS={{ connection_string }} \ --env ETCD_CA_CERT_FILE={{ etcd_ca_path }} \ --env ETCD_CERT_FILE={{ etcd_cert_path }} \ --env ETCD_KEY_FILE={{ etcd_key_path }} \ --env NODENAME={{ nodename }} \ --env IP={{ ip }} \ --env KUBECONFIG=/opt/calicoctl/kubeconfig \ {% if ipv4 == "none" -%} --env CALICO_ROUTER_ID="hash" \ {% endif -%} --env IP6={{ ip6 }} \ {% if ip6 != "none" -%} --env FELIX_IPV6SUPPORT=true \ {% endif -%} --env NO_DEFAULT_POOLS=true \ --env AS= \ --env CALICO_LIBNETWORK_ENABLED=true \ --env CALICO_NETWORKING_BACKEND=bird \ --env FELIX_DEFAULTENDPOINTTOHOSTACTION=ACCEPT \ --env FELIX_IGNORELOOSERPF={{ ignore_loose_rpf | string | lower }} \ {% if mtu -%} --env FELIX_IPINIPMTU={{ mtu }} \ --env FELIX_VXLANMTU={{ mtu }} \ {% endif -%} --mount /lib/modules:/lib/modules \ --mount /var/run/calico:/var/run/calico \ --mount /var/log/calico:/var/log/calico \ --mount /var/lib/calico:/var/lib/calico \ --mount /opt/calicoctl:/opt/calicoctl \ --name calico-node \ {{ calico_node_image }} ExecStop=-/usr/local/sbin/charm-env --charm calico conctl delete calico-node Restart=always RestartSec=10 [Install] WantedBy=multi-user.target