Skip to content

Commit

Permalink
Merge 5856132 into c8e4fbc
Browse files Browse the repository at this point in the history
  • Loading branch information
katyafervent committed Jul 17, 2018
2 parents c8e4fbc + 5856132 commit 7c2b772
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 30 deletions.
19 changes: 3 additions & 16 deletions kqueen/config/demo.py
Expand Up @@ -10,9 +10,9 @@ class Config(BaseConfig):
# App secret - set this to random string >= 16 chars
# SECRET_KEY = 'secret'

# Jenkins engine settings
JENKINS_API_URL = 'https://ci.mcp.mirantis.net'
JENKINS_PROVISION_JOB_NAME = 'deploy_aws_k8s_kqueen_job'
# Set up this to enable Jenkins provisioner:
JENKINS_API_URL = ''
JENKINS_PROVISION_JOB_NAME = ''
JENKINS_PROVISION_JOB_CTX = {}
JENKINS_DEPROVISION_JOB_NAME = 'deploy-stack-cleanup'
JENKINS_DEPROVISION_JOB_CTX = {
Expand All @@ -33,16 +33,3 @@ class Config(BaseConfig):
# Creds for Kqueen Read-only user
LDAP_DN = 'cn=admin,dc=example,dc=org'
LDAP_PASSWORD = 'heslo123'

# Images for Kubespray (available images that can be provided are listed in the link below)
# https://github.com/kubernetes-incubator/kubespray/blob/master/roles/download/defaults/main.yml
HYPERKUBE_IMAGE_REPO = 'docker-prod-local.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64'
HYPERKUBE_IMAGE_TAG = 'v1.9.8-4'
CALICO_CNI_IMAGE_REPO = 'docker-prod-local.docker.mirantis.net/mirantis/projectcalico/calico/cni'
CALICO_CNI_IMAGE_TAG = 'v1.11.6'
CALICOCTL_IMAGE_REPO = 'docker-prod-local.docker.mirantis.net/mirantis/projectcalico/calico/ctl'
CALICOCTL_IMAGE_TAG = 'v1.6.4'
CALICO_NODE_IMAGE_REPO = 'docker-prod-local.docker.mirantis.net/mirantis/projectcalico/calico/node'
CALICO_NODE_IMAGE_TAG = 'v2.6.10'
POD_INFRA_IMAGE_REPO = 'docker-prod-local.docker.mirantis.net/mirantis/kubernetes/pause-amd64'
POD_INFRA_IMAGE_TAG = 'v1.10.4-4'
50 changes: 50 additions & 0 deletions kqueen/config/demo_mirantis.py
@@ -0,0 +1,50 @@
from .base import BaseConfig


class Config(BaseConfig):
DEBUG = False
LOG_CONFIG = 'kqueen/utils/logger_config.yml'

KQUEEN_HOST = '0.0.0.0'

# App secret - set this to random string >= 16 chars
# SECRET_KEY = 'secret'

# Jenkins engine settings
JENKINS_API_URL = 'https://ci.mcp.mirantis.net'
JENKINS_PROVISION_JOB_NAME = 'deploy_aws_k8s_kqueen_job'
JENKINS_PROVISION_JOB_CTX = {}
JENKINS_DEPROVISION_JOB_NAME = 'deploy-stack-cleanup'
JENKINS_DEPROVISION_JOB_CTX = {
'STACK_TYPE': 'aws'
}
JENKINS_PARAMETER_MAP = {
'cluster_name': 'STACK_NAME',
'cluster_uuid': 'KQUEEN_BUILD_ID'
}
JENKINS_USERNAME = None
JENKINS_PASSWORD = None

# Enabled AUTH modules
AUTH_MODULES = 'local,ldap'

# Ldap config
LDAP_URI = 'ldap://127.0.0.1'
# Creds for Kqueen Read-only user
LDAP_DN = 'cn=admin,dc=example,dc=org'
LDAP_PASSWORD = 'heslo123'

# Images for Kubespray (available images that can be provided are listed in the link below)
# https://github.com/kubernetes-incubator/kubespray/blob/master/roles/download/defaults/main.yml
HYPERKUBE_IMAGE_REPO = 'docker-prod-local.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64'
HYPERKUBE_IMAGE_TAG = 'v1.9.8-4'
CALICO_CNI_IMAGE_REPO = 'docker-prod-local.docker.mirantis.net/mirantis/projectcalico/calico/cni'
CALICO_CNI_IMAGE_TAG = 'v1.11.6'
CALICOCTL_IMAGE_REPO = 'docker-prod-local.docker.mirantis.net/mirantis/projectcalico/calico/ctl'
CALICOCTL_IMAGE_TAG = 'v1.6.4'
CALICO_NODE_IMAGE_REPO = 'docker-prod-local.docker.mirantis.net/mirantis/projectcalico/calico/node'
CALICO_NODE_IMAGE_TAG = 'v2.6.10'
POD_INFRA_IMAGE_REPO = 'docker-prod-local.docker.mirantis.net/mirantis/kubernetes/pause-amd64'
POD_INFRA_IMAGE_TAG = 'v1.10.4-4'

KS_DEFAULT_NAMESERVERS = "172.18.80.136, 1.1.1.1"
30 changes: 16 additions & 14 deletions kqueen/engines/openstack_kubespray.py
Expand Up @@ -12,7 +12,6 @@
import shlex
import shutil
import subprocess
import sys
import time
import yaml
import uuid
Expand Down Expand Up @@ -236,6 +235,9 @@ def _run_provisioning(self):
self.cluster.state = config.CLUSTER_ERROR_STATE
logger.exception("Failed to provision cluster: %s" % e)
self.cluster.metadata['status_message'] = getattr(e, 'details', repr(e))
if getattr(self.ks, 'ansible_log'):
self.cluster.metadata['status_message'] += "\n More details can be found " \
"at {}".format(self.ks.ansible_log)
finally:
self.cluster.save()

Expand Down Expand Up @@ -569,19 +571,19 @@ def _run_ansible(self, inventory="hosts.json", playbook="cluster.yml"):
"--extra-vars", "docker_dns_servers_strict=no",
]
env = self._construct_env()
# TODO(sskripnick) Maybe collect out/err from pipe and log them
# separately.
pipe = subprocess.Popen(
args,
stdin=subprocess.DEVNULL,
stdout=sys.stdout,
stderr=sys.stderr,
cwd=self.kubespray_path,
env=env,
)
pipe.wait()
if pipe.returncode:
logger.warning("Non zero exit status from ansible (%s)" % pipe.returncode)
self.ansible_log = os.path.join(self._get_cluster_path(), "ansible_log.txt")
with open(self.ansible_log, "a+") as log_file:
pipe = subprocess.Popen(
args,
stdin=subprocess.DEVNULL,
stdout=log_file,
stderr=subprocess.STDOUT,
cwd=self.kubespray_path,
env=env,
)
pipe.wait()
if pipe.returncode:
logger.warning("Non zero exit status from ansible (%s)" % pipe.returncode)

def _get_kubeconfig(self, ip):
cat_kubeconf = "sudo cat /etc/kubernetes/admin.conf"
Expand Down

0 comments on commit 7c2b772

Please sign in to comment.