Change:
Following the official documentation for creating a Kubernetes cluster using Juju on AWS gives the following error: make:  No rule to make target `clean'. Stop. Use the docker image pointed in the documentation to start a juju clientInstall curl Log in as root and install curl: apt-get update && apt-get install -y curl Choose juju providerLaunch the install Once the script has failed for the first time, if we launch kube- using bash debug we get the following: It looks like we call make while we are at the root directory of the kubernetes repository, and there doesn't exist any Makefile there.
Can you link to the official documentation in question?
Ah, probably
Yes, this is the link.
How do I get past this? :~/kubernetes$ cluster/kube- ... Starting cluster using provider: juju ... calling verify-prereqs ... calling kube-up make:  No rule to make target 'clean'. Stop. I am running ubuntu 16.04
This issue has been open for a long time, no one reviews these?
did you ever get past this?
I spent several days trying to get it working but I couldn't. Then I tried with the AWS install method.
Thank you for your interest in juju and filing the bug. We apologize you ran into this issue, we were re-tooling the cluster/kube-up scripts to work with the latest beta's, and that drifted from breaking changes upstream. We were a bit short handed and this bug did slip through our radar, however we've taken some time to update the scripts to work with the latest beta. Thanks again for filing the bug, and bringing our attention to the issue. We will be watching the issue tracker closer now for issues that mention 'juju' to try and prevent this from happening again in the future. Thank you as well for chiming and lending a hand. If you are still interested in giving it a try, once is merged, this behavior should be corrected for you.
We also updated the getting started guide for Juju in the latest revision of the tools: and please ping us directly if you find any more issues with the documentation or the kube- script. And thanks again for raising this issue!

Discussion:
# Juju Stuff /cluster/juju/charms/* <ins> /cluster/juju/bundles/local.yaml </ins> # Downloaded Kubernetes binary release /kubernetes/

<del> services: kubernetes: charm: local:trusty/kubernetes annotations: "gui-x": "600" "gui-y": "0" expose: true num_units: 2 etcd: charm: cs:~containers/trusty/etcd annotations: "gui-x": "300" "gui-y": "0" num_units: 1 relations: - - "kubernetes:etcd" - "etcd:db" series: trusty </del>

<ins> services: kubernetes: charm: __CHARM_DIR__/builds/kubernetes annotations: "gui-x": "600" "gui-y": "0" expose: true num_units: 2 etcd: charm: cs:~containers/etcd annotations: "gui-x": "300" "gui-y": "0" num_units: 1 relations: - - "kubernetes:etcd" - "etcd:db" series: xenial </ins>

from subprocess import check_output import yaml <del> out = check_output(['juju', 'status', 'kubernetes', '--format=yaml']) </del> <ins> cmd = ['juju', 'run', '--application', 'kubernetes', '--format=yaml', 'is-leader'] out = check_output(cmd) </ins> try: parsed_output = yaml.safe_load(out) <del> model = parsed_output['services']['kubernetes']['units'] for unit in model: if 'workload-status' in model[unit].keys(): if 'leader' in model[unit]['workload-status']['message']: print(unit) </del> <ins> for unit in parsed_output: standard_out = unit['Stdout'].rstrip() unit_id = unit['UnitId'] if 'True' in standard_out: print(unit_id) </ins> except: pass

etcd: interface: etcd series: <del> - 'trusty' </del> <ins> - xenial </ins>

# This used to build the kubernetes project. Now it rebuilds the charm(s) # living in `cluster/juju/layers` <del> charm build -o $JUJU_REPOSITORY -s trusty ${JUJU_PATH}/layers/kubernetes </del> <ins> charm build ${JUJU_PATH}/layers/kubernetes -o $JUJU_REPOSITORY -r --no-local-layers </ins> } function detect-master() {

function detect-nodes() { # Run the Juju command that gets the minion private IP addresses. local ipoutput <del> ipoutput=$(juju run --service kubernetes "unit-get private-address" --format=json) </del> <ins> ipoutput=$(juju run --application kubernetes "unit-get private-address" --format=json) </ins> # [ # {"MachineId":"2","Stdout":"192.168.122.188n","UnitId":"kubernetes/0"}, # {"MachineId":"3","Stdout":"192.168.122.166n","UnitId":"kubernetes/1"}

function kube-up() { build-local <ins> # Replace the charm directory in the bundle. sed "s|__CHARM_DIR__|${JUJU_REPOSITORY}|" < ${KUBE_BUNDLE_PATH}.base > ${KUBE_BUNDLE_PATH} </ins> # The juju-deployer command will deploy the bundle and can be run # multiple times to continue deploying the parts that fail. juju deploy ${KUBE_BUNDLE_PATH}

tar xfz ${KUBECTL_DIR}/kubectl_package.tar.gz -C ${KUBECTL_DIR} ) # Export the location of the kubectl configuration file. <del> export KUBECONFIG="${KUBECTL_DIR}/config" </del> <ins> export KUBECONFIG="${KUBECTL_DIR}/kubeconfig" </ins> } function kube-down() {

while [[ $i < $maxtime && -z $jujustatus ]]; do sleep 15 <del> i+=15 </del> <ins> i=$((i + 15)) </ins> jujustatus=$(${JUJU_PATH}/identify-leaders.py) export KUBE_MASTER_NAME=${jujustatus} done