Merge pull request #30092 from mbruzek/juju-util-fixes

Automatic merge from submit-queue

Juju util fixes

The util.sh file was out of date and caused the kube-up script to error out. This work fixes #23198
```release-note
* Updating the util.sh for the juju provider kube-up.sh 
```

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30092)
<!-- Reviewable:end -->
This commit is contained in:
Kubernetes Submit Queue 2016-08-10 17:09:52 -07:00 committed by GitHub
commit ea69570f61
5 changed files with 20 additions and 14 deletions

1
.gitignore vendored
View File

@ -88,6 +88,7 @@ network_closure.sh
# Juju Stuff
/cluster/juju/charms/*
/cluster/juju/bundles/local.yaml
# Downloaded Kubernetes binary release
/kubernetes/

View File

@ -1,13 +1,13 @@
services:
kubernetes:
charm: local:trusty/kubernetes
charm: __CHARM_DIR__/builds/kubernetes
annotations:
"gui-x": "600"
"gui-y": "0"
expose: true
num_units: 2
etcd:
charm: cs:~containers/trusty/etcd
charm: cs:~containers/etcd
annotations:
"gui-x": "300"
"gui-y": "0"
@ -15,4 +15,4 @@ services:
relations:
- - "kubernetes:etcd"
- "etcd:db"
series: trusty
series: xenial

View File

@ -17,13 +17,15 @@
from subprocess import check_output
import yaml
out = check_output(['juju', 'status', 'kubernetes', '--format=yaml'])
cmd = ['juju', 'run', '--application', 'kubernetes', '--format=yaml', 'is-leader']
out = check_output(cmd)
try:
parsed_output = yaml.safe_load(out)
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)
for unit in parsed_output:
standard_out = unit['Stdout'].rstrip()
unit_id = unit['UnitId']
if 'True' in standard_out:
print(unit_id)
except:
pass

View File

@ -16,4 +16,4 @@ requires:
etcd:
interface: etcd
series:
- 'trusty'
- xenial

View File

@ -38,7 +38,7 @@ function build-local() {
# This used to build the kubernetes project. Now it rebuilds the charm(s)
# living in `cluster/juju/layers`
charm build -o $JUJU_REPOSITORY -s trusty ${JUJU_PATH}/layers/kubernetes
charm build ${JUJU_PATH}/layers/kubernetes -o $JUJU_REPOSITORY -r --no-local-layers
}
function detect-master() {
@ -54,7 +54,7 @@ function detect-master() {
function detect-nodes() {
# Run the Juju command that gets the minion private IP addresses.
local ipoutput
ipoutput=$(juju run --service kubernetes "unit-get private-address" --format=json)
ipoutput=$(juju run --application kubernetes "unit-get private-address" --format=json)
# [
# {"MachineId":"2","Stdout":"192.168.122.188\n","UnitId":"kubernetes/0"},
# {"MachineId":"3","Stdout":"192.168.122.166\n","UnitId":"kubernetes/1"}
@ -69,6 +69,9 @@ function detect-nodes() {
function kube-up() {
build-local
# Replace the charm directory in the bundle.
sed "s|__CHARM_DIR__|${JUJU_REPOSITORY}|" < ${KUBE_BUNDLE_PATH}.base > ${KUBE_BUNDLE_PATH}
# 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}
@ -88,7 +91,7 @@ function kube-up() {
tar xfz ${KUBECTL_DIR}/kubectl_package.tar.gz -C ${KUBECTL_DIR}
)
# Export the location of the kubectl configuration file.
export KUBECONFIG="${KUBECTL_DIR}/config"
export KUBECONFIG="${KUBECTL_DIR}/kubeconfig"
}
function kube-down() {
@ -117,7 +120,7 @@ function sleep-status() {
while [[ $i < $maxtime && -z $jujustatus ]]; do
sleep 15
i+=15
i=$((i + 15))
jujustatus=$(${JUJU_PATH}/identify-leaders.py)
export KUBE_MASTER_NAME=${jujustatus}
done