GithubHelp home page GithubHelp logo

jenkins-x / jenkins-x-platform Goto Github PK

View Code? Open in Web Editor NEW
294.0 19.0 203.0 17.57 MB

Helm umbrella repo containing the helm charts for the Jenkins-X platform on Kubernetes

Home Page: https://jenkins-x.io/

License: Apache License 2.0

Makefile 66.87% Shell 33.13%

jenkins-x-platform's Introduction

DEPRECATED

This repo is part of Jenkins X 2 that has not bee maintained since 2022.

Jenkins X Helm Charts

Jenkins X is an integrated CI / CD platform for any Kubernetes cluster or cloud. Simple installation of best of breed open source software for developing and running applications in the cloud.

What's included out of the box?

Jenkins Jenkins - Fully integrated CI / CD solution with opinionated yet customisable pipelines and environments
Sonatype Nexus 3 Nexus - Artifact repository (pluggable so we can switch with Artifactory)
Chartmuseum Chartmuseum - Helm Chart repository (Helm is the most popular Kubernetes package manager used to install and upgrade your applications)
Monocular Monocular - Web UI for searching and discovering Helm Charts

Easy to install addons to come.

Install

We use a CLI tool called jx to interact with Jenkins X. For installation jx delegates to Helm (Kubernetes Package manager) for install, upgrades and uninstall operations.

Grab the latest jx and choose the type of cluster you want to create.

Remote cluster install

The quickest way to get going is with Google Kubernetes Engine (GKE), other major cloud providers coming shortly.

Prerequisite you will need a Google Cloud Account with a Google Project setup, follow this link for a free trial along with $300 credit https://console.cloud.google.com/freetrial

jx create cluster gke

And follow the CLI wizard.

Local development

For local development we can install Jenkins X with minikube.

First install the Hyperkit driver https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#hyperkit-driver

git clone https://github.com/jenkins-x/cloud-environments && cd cloud-environments
jx create cluster minikube --local-cloud-environment=true

Accessing applications

You can list the external URLs used to access applications on your kubernetes cluster by running:

jx open

License

Apache License 2.0

Credentials

This repo is for test purposes, so default admin username and passwords are used:

Application Username Password
K8S Dashboard admin admin
Chartmuseum admin admin
Jenkins admin admin
Nexus admin admin123
Grafana admin admin

jenkins-x-platform's People

Contributors

abayer avatar amoussawi avatar ankitm123 avatar bardec avatar carlossg avatar ccojocar avatar garethjevans avatar greenjm avatar hekonsek avatar jenkins-x-bot avatar jenkins-x-bot-test avatar jstrachan avatar jtnord avatar macox avatar mdiez19 avatar michalfoksa avatar msvticket avatar nikita-v avatar pmuir avatar polothy avatar pow-devops2020 avatar proffalken avatar rajdavies avatar rawlingsj avatar romainverduci avatar sumitkharche avatar tdcox avatar v1v avatar vbehar avatar warrenbailey avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jenkins-x-platform's Issues

jenkins-x installation using helm troubleshoot

Hello,

i'm trying to install jenkins-x using helm with the command :

helm install jenkins-x/jenkins-x-platform --name jenkins-x -f ./jx-values.yaml --values=~/.jx/gitSecrets.yaml --namespace=testing
i've the error :
Error: failed to download "jenkins-x/jenkins-x-platform"

any help please ?

jenkins console can not login with default password “admin”

jenkins console can not login with default password “admin”

  1. in kubernetes charts,the args is:
    args: [ "--argumentsRealm.passwd.$(ADMIN_USER)=$(ADMIN_PASSWORD)", "--argumentsRealm.roles.$(ADMIN_USER)=admin"]

  2. in values.yaml of this repo, it is AdminPassword: admin

  3. thus,the jenkins deployment of k8s cmdline is:
    /sbin/tini -- /usr/local/bin/jenkins.sh --argumentsRealm.passwd.admin=$(ADMIN_PASSWORD)--argumentsRealm.roles.admin=admin

ps. https://github.com/kubernetes/charts/blob/master/stable/jenkins/templates/jenkins-master-deployment.yaml

Heapster can't access nodes and pods

jx/jenkins-x-heapster-65fd697bb-v4blk[heapster]: E1111 12:36:16.766318       1 reflector.go:190] k8s.io/heapster/metrics/util/util.go:51: Failed to list *v1.Node: nodes is forbidden: User "system:serviceaccount:jx:default" cannot list nodes at the cluster scope
jx/jenkins-x-heapster-65fd697bb-v4blk[heapster]: E1111 12:36:16.766369       1 reflector.go:190] k8s.io/heapster/metrics/heapster.go:322: Failed to list *v1.Pod: pods is forbidden: User "system:serviceaccount:jx:default" cannot list pods at the cluster scope
Using helmBinary helm with feature flag: none
NAME               VERSION
jx                 1.3.516
jenkins x platform 0.0.2871
Kubernetes cluster v1.11.2-gke.15
kubectl            v1.12.0
helm client        v2.11.0+g2e55dbe
helm server        v2.11.0+g2e55dbe
git                git version 2.19.1

Can jx work with traefik?

I installed an k8s with traefik ingress, can I use jenkins-x without installing nginx ingress controller

Feature to configure jenkins while installing using jx-platformusing values override

@jstrachan, Appreciate your support over this great CI/CD system.

Is there a way jenkins x platform supports installation of additional plugins on install/upgrade using values.yaml override.

eg:

  1. I have custom plugins, every time i upgrade platform i loose the installation
  2. I have Few configurations like shared libraries and env variable ect.

What is the proposed way to configure all these;

jenkins-x installation never succeed on local Kubernetes 1.10 cluster!

Hi,
When I tried to install jenkins-x on my local Kubernetes 1.10 cluster, it never succeeds!
On the master node of the kubernetes cluster:

#helm version
Client: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}

#jx install --ingress-namespace kube-system
....
helm install jenkins-x/jenkins-x-platform --name jenkins-x -f ./myvalues.yaml -f ./secrets.yaml --version 0.0.1129 --values=/root/.jx/gitSecrets.yaml --values=/root/.jx/adminSecrets.yaml --values=/root/.jx/extraValues.yaml --namespace=jx --timeout=6000
Error: a release named jenkins-x already exists.
Run: helm ls --all jenkins-x; to check the status of the release
Or run: helm del --purge jenkins-x; to delete it
make: *** [install] 错误 1
Error: Command failed make ARGS=--values=/root/.jx/gitSecrets.yaml --values=/root/.jx/adminSecrets.yaml --values=/root/.jx/extraValues.yaml --namespace=jx --timeout=6000 install
error: exit status 2

#helm ls --all jenkins-x
NAME REVISION UPDATED STATUS CHART NAMESPACE
jenkins-x 1 Thu May 31 01:07:34 2018 FAILED jenkins-x-platform-0.0.1129 jx

How the persistent volume is handled in the default installing command(jx install)? Is it possible to use NFS for this storage and how to set it up in the "jx install" or helm command? Thanks!

#helm del --purge jenkins-x
Error: timed out waiting for the condition

Cheers,
Dan

specifying maven settings-security.xml at install not currently supported

Currently you can set a settings.xml file to be loaded into build pods. The file is loaded into the secret via helm property:

https://github.com/jenkins-x/jenkins-x-platform/blob/1e45247339d4bb91ced584cd501719174a4a8aa2/templates/maven-settings-secret.yaml

Which we could configure at install time - https://github.com/jenkins-x/cloud-environments/blob/master/env-jx-infra/secrets.yaml#L25

But for the nexus we want to use we also need a settings-security.xml. This is because we have a password in the settings.xml that is encrypted against a master password in the settings-security.xml file.

Could we have a PipelineSecrets.SettingsSecurityXML in addition to PipelineSecrets. MavenSettingsXML? It would just need to be mounted into the same maven-settings-secret.yaml file as both files should be mounted in the same directory (I've tried manually deleting and recreating the secret and that works for me but it doesn't let me set it at the point of install).

Anchore default configmap does not work.

Jenkins version output :

NAME               VERSION
jx                 1.2.137
jenkins x platform 0.0.1193
kubernetes cluster v1.9.6
kubectl            v1.10.1
helm client        v2.9.1+g20adb27
helm server        v2.9.1+g20adb27
git                git version 2.16.0

While testing the anchore addon, I have noticed that the command "jx get cve" was not working and it was returning this error :

jx get cve --environment staging
error: error getting vulnerability table for image : error getting vulnerabilities for image 3a28894c59a25c947039d3cd52d125e3f124dac1af44d52e749c93181a79fe2d: error response getting vulnerabilities from anchore engine: 404 NOT FOUND

And inside the pod I could see this error over and over again (kubectl logs anchore-anchore-engine-worker-75646f55b4-5cj78 -n anchore) :

[service:analyzer] 2018-06-15 15:00:27+0000 [-] [bootstrap] [INFO] initializing database
[service:analyzer] 2018-06-15 15:00:27+0000 [-] [bootstrap] [ERROR] cannot create/init/register service: analyzer - exception: could not construct service base_url - please check service configuration for hostname/port settings
[service:analyzer] 2018-06-15 15:00:27+0000 [-] [bootstrap] [ERROR] cannot start service (see above for information)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/anchore_engine/services/common.py", line 366, in makeService
    rc = smodule.registerService(sname, localconfig)
  File "/usr/lib/python2.7/site-packages/anchore_engine/services/analyzer/__init__.py", line 112, in registerService
    rc = anchore_engine.services.common.registerService(sname, config, enforce_unique=False)
  File "/usr/lib/python2.7/site-packages/anchore_engine/services/common.py", line 197, in registerService
    raise Exception("could not construct service base_url - please check service configuration for hostname/port settings")
Exception: could not construct service base_url - please check service configuration for hostname/port settings
Traceback (most recent call last):
  File "/bin/twistd", line 11, in <module>
    load_entry_point('Twisted==17.5.0', 'console_scripts', 'twistd')()
  File "/usr/lib64/python2.7/site-packages/twisted/scripts/twistd.py", line 29, in run
    app.run(runApp, ServerOptions)
  File "/usr/lib64/python2.7/site-packages/twisted/application/app.py", line 662, in run
    runApp(config)
  File "/usr/lib64/python2.7/site-packages/twisted/scripts/twistd.py", line 25, in runApp
    _SomeApplicationRunner(config).run()
  File "/usr/lib64/python2.7/site-packages/twisted/application/app.py", line 380, in run
    self.application = self.createOrGetApplication()
  File "/usr/lib64/python2.7/site-packages/twisted/application/app.py", line 440, in createOrGetApplication
    ser = plg.makeService(self.config.subOptions)
  File "/usr/lib/python2.7/site-packages/twisted/plugins/anchore_worker.py", line 82, in makeService
    r = anchore_engine.services.common.makeService(slist, options)
  File "/usr/lib/python2.7/site-packages/anchore_engine/services/common.py", line 387, in makeService
    raise Exception("cannot start service (see above for information)")
Exception: cannot start service (see above for information)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/anchore_manager/cli/service.py", line 140, in startup_service
    raise Exception("process exited: " + str(rc))
Exception: process exited: 1

So in order to fix this I had to edit the config map ( kubectl edit configmap anchore-anchore-engine-worker -n anchore)
And add host/port config , so now it looks like this :

kubectl describe  configmap anchore-anchore-engine-worker  -n anchore
Name:         anchore-anchore-engine-worker
Namespace:    anchore
Labels:       app=anchore-anchore-engine
              chart=anchore-engine-0.1.4
              component=worker
              heritage=Tiller
              release=anchore
Annotations:  <none>

Data
====
config.yaml:
----
# Anchore Service Configuration File

# General system-wide configuration options, these should not need to
# be altered for basic operation
#
service_dir: /anchore_service_dir
tmp_dir: /tmp

allow_awsecr_iam_auto: false
cleanup_images: true

#docker_conn: 'unix://var/run/docker.sock'
#docker_conn_timeout: 600

log_level: INFO
#host_id: 'e3651c16-5161-412f-a188-2bfae2d2dcf0'
internal_ssl_verify: false

#
# A feeds section is available for override, but shouldn't be
# needed. By default, the 'admin' credentials are used if present,
# otherwise anonymous access for feed sync is used

credentials:
  users:
     admin:
       password: ${ANCHORE_ADMIN_PASSWORD}
       email: '[email protected]'
       external_service_auths:
       #  anchoreio:
       #    anchorecli:
       #      auth: 'myanchoreiouser:myanchoreiopass'
       #auto_policy_sync: true

  database:
    db_connect: "postgresql+pg8000://${ANCHORE_DB_USER}:${ANCHORE_DB_PASSWORD}@${ANCHORE_DB_HOST}:5432/${ANCHORE_DB}"
    db_connect_args:
      timeout: 120
      ssl: false
    db_pool_size: 30
    db_pool_max_overflow: 30
services:
  analyzer:
    enabled: true
    endpoint_hostname: 'localhost'
    listen: '0.0.0.0'
    port: 8084
    cycle_timer_seconds: 1
    max_threads: 1
    analyzer_driver: nodocker
    ssl_cert: /certs/tls.crt
    ssl_key: /certs/tls.key
    ssl_enable: false

Events:  <none>

Then I had to build again my jenkins job and now when I do :

jx get cve --environment staging

I get the expected output with all CVE's

jx delete preview failing

In 1.2.132 I'm getting this behavior:

ason-PPI:nestup-core jason$ jx delete preview -b -n keycloak-service-develop-96
WARNING: No Pull Request name or URL specified nor could one be found via $BRANCH_NAME
Deleting preview environment: keycloak-service-develop-96
error: namespaces "keycloak-service-develop-96" not found
Jason-PPI:nestup-core jason$ jx delete preview -b -n keycloak-service-develop-96
Jason-PPI:nestup-core jason$ jx get previews
PULL REQUEST NAMESPACE                      APPLICATION
             jx-keycloak-service-develop-96 
             jx-keycloak-service-develop-97 
             jx-keycloak-service-develop-98 
Jason-PPI:nestup-core jason$ jx delete preview -b -n jx-keycloak-service-develop-96
WARNING: No Pull Request name or URL specified nor could one be found via $BRANCH_NAME
Deleting preview environment: jx-keycloak-service-develop-96
error: Invalid argument: jx-keycloak-service-develop-96
Possible values: dev, jason, keycloak-service-develop-96, keycloak-service-develop-97, keycloak-service-develop-98, production, staging

I'm not sure why jx preview is appending the jx- to the start of the namespace, but now it seems to be keeping jx delete preview from working. This was working previously.

From my Jenkinsfile:

sh "jx preview --app $APP_NAME -n $PREVIEW_NAMESPACE"

and then after the tests have run it does:

sh "jx delete preview -b -n \$PREVIEW_NAMESPACE"

in my Jenkins pipeline it gives this output:

[rs_keycloak-service_develop-CP4XBDJJCEOXF6V77ZQLNIY2CV3XFE3TUKPU7I665MP7332223QQ] Running shell script

+ jx delete preview -b -n keycloak-service-develop-99

Deleting preview environment: keycloak-service-develop-99

error: namespaces "keycloak-service-develop-99" not found

script returned exit code 1

Making jenkins, docker repo and mongo db as stateful sets

As part of the Jenkins x installation we are installing Jenkins master, docker repo and mongo db for storage. I think we should make all these services stateful in order to recover after a node failure. In my case i lost all data because nothing is a stateful set here.
And it will be really better to configure the docker registries to use cloud storage as backend, like Amazon S3 or any other.

jenkins-x.yml isn't valid

Just saw time="2019-04-04T15:51:23Z" level=error msg="failed to load project config in dir /tmp/git697544455: Failed to unmarshal YAML file /tmp/git697544455/jenkins-x.yml due to error converting YAML to JSON: yaml: line 20: did not find expected key" in the prod cluster's pipelinerunner logs for the master branch here. I think the line 20 is a bit of a red herring, 'cos the real error appears to be at https://github.com/jenkins-x/jenkins-x-platform/blob/master/jenkins-x.yml#L19 - there's no container key, it should be -

agent:
  image: gcr.io/jenkinsxio/builder-go:0.1.370

I'm opening a jx issue for the message not being clear as well.

EDIT: Oops, I was looking at messages from defunct revisions as of https://github.com/jenkins-x/jenkins-x-platform/tree/238c011ae275ed810b0426903e178fd9fd4059a6 - that said, container is still not a valid key and is ignored.

Need help for install jenkinsx on Alibaba Cloud Container Service

hi, I am trying to install jenkins-x on Alibaba Cloud Container Service K8s cluster. Since the Cloud Provider does not contain "Alibaba Cloud", so I chose "Kubernetes".

But I found that I need to set STORAGECLASS for pvc.

So I download file https://github.com/jenkins-x/jenkins-x-platform/blob/master/values.yaml and saved as /root/.jx/cloud-environments/env-kubernetes/myvalues.yaml. Then I added "StorageClass: "alicloud-disk-available" " at three points of this file(docker-registry, chartmuseum and jenkins):
...
docker-registry:
service:
annotations:
fabric8.io/expose: "true"
persistence:
StorageClass: "alicloud-disk-available"
accessMode: 'ReadWriteOnce'
enabled: true
size: 100Gi
...
chartmuseum:
service:
annotations:
fabric8.io/expose: "true"
persistence:
StorageClass: "alicloud-disk-available"
Enabled: true
AccessMode: ReadWriteOnce
Size: 20Gi
...
jenkins...
Persistence:
Enabled: true
## A manually managed Persistent Volume and Claim
## Requires Persistence.Enabled: true
## If defined, PVC must be created manually before volume will be bound
# ExistingClaim:

## jenkins data Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
##   set, choosing the default provisioner.  (gp2 on AWS, standard on
##   GKE, AWS & OpenStack)
##
# StorageClass: "-"
StorageClass: "alicloud-disk-available"
AccessMode: ReadWriteOnce
Size: 30Gi

...

Next , jx install with /root/.jx/cloud-environments/env-kubernetes..
when I typied kubectl get pvc, the logs as below:
[root@iZj6capa0vx4v3ocm7p3tqZ env-kubernetes]# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
jenkins Bound d-j6c2o1y9owf0v7mhb14c 30Gi RWO alicloud-disk-available 11m
jenkins-x-chartmuseum Bound d-j6c1ugw2oekw1tk8hd67 20Gi RWO alicloud-disk-available 11m
jenkins-x-docker-registry Bound d-j6c2o1y9owf0v7mhb14d 100Gi RWO alicloud-disk-available 11m
jenkins-x-mongodb Pending 11m
jenkins-x-nexus Pending

So my question is how to set STORAGECLASS for jenkins-x-mongodb and jenkins-x-nexus?
Thank you.

A fresh install on AWS (EKS) is unable to connect to github

I did a fresh install and then imported a project from GitHub.

The branch indexing failed in Jenkins, looking at the branch log you see

Invalid scan credentials when using anonymous access to connect

When digging into the Jenkins log I found

SEVERE: Failed KubernetesCredentialProvider.startWatchingForSecrets
java.lang.Error: java.lang.reflect.InvocationTargetException
	at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:110)
	at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:175)
	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
	at jenkins.model.Jenkins$5.runTask(Jenkins.java:1083)
	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:104)
	... 8 more
Caused by: java.lang.NullPointerException
	at com.cloudbees.jenkins.plugins.kubernetes_credentials_provider.SecretUtils.getKeyName(SecretUtils.java:203)
	at com.cloudbees.jenkins.plugins.kubernetes_credentials_provider.SecretUtils.getNonNullSecretData(SecretUtils.java:168)
	at com.cloudbees.jenkins.plugins.kubernetes_credentials_provider.convertors.StringCredentialConvertor.convert(StringCredentialConvertor.java:51)
	at com.cloudbees.jenkins.plugins.kubernetes_credentials_provider.convertors.StringCredentialConvertor.convert(StringCredentialConvertor.java:38)
	at com.cloudbees.jenkins.plugins.kubernetes_credentials_provider.KubernetesCredentialProvider.convertSecret(KubernetesCredentialProvider.java:194)
	at com.cloudbees.jenkins.plugins.kubernetes_credentials_provider.KubernetesCredentialProvider.startWatchingForSecrets(KubernetesCredentialProvider.java:90)
	... 13 more

This appears to be related to https://issues.jenkins-ci.org/browse/JENKINS-54313 and the workaround listed, which is to add annotations to all secrets worked (after deleting the jenkins pod)

can't upgrade to 0.0.2454 - repeated UPGRADE FAILED ... no ... with name ... for different resources

I'm trying to do jx upgrade platform. I hit #3020 so I deleted the mongo deployment.

But then I get failed to run 'helm upgrade --namespace jx jenkins-x jenkins-x/jenkins-x-platform' command in directory '', output: 'Error: UPGRADE FAILED: no ConfigMap with the name "devpod-config" found'

I actually do have a configmap called that so I deleted that and did jx upgrade platform again. Then I get:

error: failed to run 'helm upgrade --namespace jx jenkins-x jenkins-x/jenkins-x-platform' command in directory '', output: 'Error: UPGRADE FAILED: no ServiceAccount with the name "jenkins-x-controller-workflow" found': exit status 1

So then I delete that serviceaccount too and make sure the configmap still isn't there and do jx upgrade platform again and then I get

error: failed to run 'helm upgrade --namespace jx jenkins-x jenkins-x/jenkins-x-platform' command in directory '', output: 'Error: UPGRADE FAILED: no ClusterRole with the name "controller-workflow-jx" found': exit status 1

Not sure where this process is going to end

My helm version is v2.10.0 and my jx client version is 1.3.288

Cannot install jenkins-x in GKE - error: object does not implement the Object interfaces

Run this command:

MacBook-Pro-Dmitry:~ dzolotnikov$ kubectl apply --recursive -f /var/folders/l6/cd8nfjx512d9xqw1yrwn2kwr0000gn/T/helm-template-workdir-321465091/jenkins-x/output -l jenkins.io/chart-release=jenkins-x --namespace jx --validate=false
deployment.extensions "jenkins-x-chartmuseum" configured
persistentvolumeclaim "jenkins-x-chartmuseum" unchanged
secret "jenkins-x-chartmuseum" unchanged
service "jenkins-x-chartmuseum" unchanged
role.rbac.authorization.k8s.io "cleanup" unchanged
rolebinding.rbac.authorization.k8s.io "cleanup" unchanged
serviceaccount "cleanup" unchanged
clusterrole.rbac.authorization.k8s.io "controllerbuild-jx" configured
clusterrolebinding.rbac.authorization.k8s.io "controllerbuild-jx" configured
deployment.apps "jenkins-x-controllerbuild" configured
role.rbac.authorization.k8s.io "controllerbuild" unchanged
rolebinding.rbac.authorization.k8s.io "controllerbuild" unchanged
serviceaccount "jenkins-x-controllerbuild" unchanged
clusterrole.rbac.authorization.k8s.io "controllercommitstatus-jx" configured
clusterrolebinding.rbac.authorization.k8s.io "controllercommitstatus-jx" configured
deployment.apps "jenkins-x-controllercommitstatus" configured
role.rbac.authorization.k8s.io "controllercommitstatus" unchanged
rolebinding.rbac.authorization.k8s.io "controllercommitstatus" unchanged
serviceaccount "jenkins-x-controllercommitstatus" unchanged
clusterrole.rbac.authorization.k8s.io "controllerrole-jx" configured
clusterrolebinding.rbac.authorization.k8s.io "controllerrole-jx" configured
deployment.apps "jenkins-x-controllerrole" configured
role.rbac.authorization.k8s.io "controllerrole" unchanged
rolebinding.rbac.authorization.k8s.io "controllerrole" unchanged
serviceaccount "jenkins-x-controllerrole" unchanged
clusterrole.rbac.authorization.k8s.io "controllerteam-jx" configured
clusterrolebinding.rbac.authorization.k8s.io "controllerteam-jx" configured
deployment.apps "jenkins-x-controllerteam" configured
role.rbac.authorization.k8s.io "controllerteam" unchanged
rolebinding.rbac.authorization.k8s.io "controllerteam" unchanged
serviceaccount "jenkins-x-controllerteam" unchanged
clusterrole.rbac.authorization.k8s.io "controllerworkflow-jx" configured
clusterrolebinding.rbac.authorization.k8s.io "controllerworkflow-jx" configured
deployment.apps "jenkins-x-controllerworkflow" configured
role.rbac.authorization.k8s.io "controllerworkflow" unchanged
rolebinding.rbac.authorization.k8s.io "controllerworkflow" unchanged
serviceaccount "jenkins-x-controllerworkflow" unchanged
configmap "jenkins-x-docker-registry-config" unchanged
deployment.extensions "jenkins-x-docker-registry" unchanged
persistentvolumeclaim "jenkins-x-docker-registry" unchanged
secret "jenkins-x-docker-registry-secret" unchanged
service "jenkins-x-docker-registry" unchanged
configmap "exposecontroller" unchanged
role.rbac.authorization.k8s.io "expose" unchanged
rolebinding.rbac.authorization.k8s.io "expose" unchanged
serviceaccount "expose" unchanged
clusterrole.rbac.authorization.k8s.io "gcactivities-jx" configured
clusterrolebinding.rbac.authorization.k8s.io "gcactivities-jx" configured
cronjob.batch "jenkins-x-gcactivities" unchanged
role.rbac.authorization.k8s.io "gcactivities" unchanged
rolebinding.rbac.authorization.k8s.io "gcactivities" unchanged
serviceaccount "jenkins-x-gcactivities" unchanged
cronjob.batch "jenkins-x-gcpods" unchanged
role.rbac.authorization.k8s.io "gcpods" unchanged
rolebinding.rbac.authorization.k8s.io "gcpods" unchanged
serviceaccount "jenkins-x-gcpods" unchanged
cronjob.batch "jenkins-x-gcpreviews" unchanged
deployment.extensions "jenkins-x-heapster" unchanged
service "heapster" unchanged
deployment.extensions "jenkins-x-mongodb" configured
persistentvolumeclaim "jenkins-x-mongodb" unchanged
secret "jenkins-x-mongodb" unchanged
service "jenkins-x-mongodb" unchanged
configmap "jenkins-x-monocular-api-config" unchanged
deployment.extensions "jenkins-x-monocular-api" unchanged
service "jenkins-x-monocular-api" unchanged
deployment.extensions "jenkins-x-monocular-prerender" unchanged
service "jenkins-x-monocular-prerender" unchanged
configmap "jenkins-x-monocular-ui-config" unchanged
deployment.extensions "jenkins-x-monocular-ui" unchanged
service "jenkins-x-monocular-ui" unchanged
configmap "jenkins-x-monocular-ui-vhost" unchanged
configmap "nexus" unchanged
deployment.extensions "jenkins-x-nexus" configured
persistentvolumeclaim "jenkins-x-nexus" unchanged
secret "nexus" unchanged
service "nexus" unchanged
role.rbac.authorization.k8s.io "committer" unchanged
clusterrolebinding.rbac.authorization.k8s.io "jenkins-x-team-controller" configured
configmap "jenkins-x-team-controller" unchanged
secret "jenkins-docker-cfg" unchanged
configmap "jenkins-x-devpod-config" unchanged
configmap "jenkins-x-docker-registry" configured
configmap "jenkins-x-extensions" unchanged
configmap "jenkins-x-pod-templates" unchanged
secret "jx-basic-auth" unchanged
role.rbac.authorization.k8s.io "jx-view" unchanged
secret "jenkins-maven-settings" unchanged
secret "jenkins-npm-token" unchanged
role.rbac.authorization.k8s.io "owner" unchanged
secret "jenkins-release-gpg" unchanged
secret "jenkins-ssh-config" unchanged
role.rbac.authorization.k8s.io "viewer" unchanged
error: object does not implement the Object interfaces

So, I have this error:
error: object does not implement the Object interfaces

So seems Jenkins-X has been installed partially:

This command doesn't show me anything:

jx open
Name URL

Pods are running at the same time.

MacBook-Pro-Dmitry:~ dzolotnikov$ kubectl -n jx get pods
NAME                                               READY     STATUS      RESTARTS   AGE
build-controller-677948565-tc2wp                   1/1       Running     0          16m
buildnum-c5c8b9889-z6d62                           1/1       Running     0          15m
crier-7b9bc4c849-sj2m9                             1/1       Running     0          15m
deck-5fbbdc9478-6qv5x                              1/1       Running     2          15m
deck-5fbbdc9478-q9kjf                              1/1       Running     1          15m
hook-84674dfd46-9kq22                              1/1       Running     0          15m
hook-84674dfd46-plmj9                              1/1       Running     0          15m
horologium-65d4c68b96-cv8jc                        1/1       Running     0          15m
jenkins-x-chartmuseum-5687695d57-6jb8b             1/1       Running     0          14m
jenkins-x-controllerbuild-776c6d5c-lttqg           1/1       Running     0          14m
jenkins-x-controllercommitstatus-6546b4995-g6bgh   1/1       Running     0          14m
jenkins-x-controllerrole-7fb7666454-k4bjl          1/1       Running     0          14m
jenkins-x-controllerteam-f64ff5bd5-d7sxd           1/1       Running     0          14m
jenkins-x-controllerworkflow-856954cc6f-zt5t6      1/1       Running     0          14m
jenkins-x-docker-registry-7b56b4f555-654q9         1/1       Running     0          14m
jenkins-x-gcactivities-1551702600-xmbsf            0/1       Completed   0          2m
jenkins-x-gcpods-1551702600-mtpk9                  0/1       Completed   0          2m
jenkins-x-heapster-65fd697bb-d98zw                 2/2       Running     0          14m
jenkins-x-mongodb-6bfd5d9c79-pjdg6                 1/1       Running     1          14m
jenkins-x-monocular-api-f98b447d7-x9qdq            1/1       Running     2          14m
jenkins-x-monocular-prerender-5848c74fdc-4xwj8     1/1       Running     0          14m
jenkins-x-monocular-ui-68774c6cb8-d7r9h            1/1       Running     0          14m
jenkins-x-nexus-695cc97bd6-nv848                   1/1       Running     0          14m
pipeline-66cf49b747-q8t8d                          1/1       Running     0          15m
plank-79d5bcc96b-gt5lg                             1/1       Running     0          15m
prow-build-56c9d49579-kjcnb                        1/1       Running     0          15m
sinker-c95fc86b5-mmj6x                             1/1       Running     0          15m
tide-b99fd65b6-slhhj                               1/1       Running     0          15m
MacBook-Pro-Dmitry:~ dzolotnikov$ kubectl -n kube-system get pods
NAME                                                  READY     STATUS    RESTARTS   AGE
event-exporter-v0.2.3-85644fcdf-4nhzq                 2/2       Running   0          19m
fluentd-gcp-scaler-8b674f786-crg6s                    1/1       Running   0          19m
fluentd-gcp-v3.2.0-f8z5z                              2/2       Running   0          18m
fluentd-gcp-v3.2.0-qp9hv                              2/2       Running   0          18m
fluentd-gcp-v3.2.0-rv899                              2/2       Running   0          18m
heapster-v1.6.0-beta.1-85c9b4c958-q2dsd               3/3       Running   0          18m
jxing-nginx-ingress-controller-6f7798b5f8-qvt2m       1/1       Running   0          17m
jxing-nginx-ingress-default-backend-7f5c759f7-s9qw4   1/1       Running   0          17m
kube-dns-6b98c9c9bf-8z9jt                             4/4       Running   0          18m
kube-dns-6b98c9c9bf-96qp7                             4/4       Running   0          19m
kube-dns-autoscaler-67c97c87fb-fz7qj                  1/1       Running   0          19m
kube-proxy-gke-jx-default-pool-00d43c81-5d66          1/1       Running   0          18m
kube-proxy-gke-jx-default-pool-00d43c81-bb10          1/1       Running   0          18m
kube-proxy-gke-jx-default-pool-00d43c81-bbpg          1/1       Running   0          18m
l7-default-backend-7ff48cffd7-kfcrp                   1/1       Running   0          19m
metrics-server-v0.2.1-fd596d746-fzvzx                 2/2       Running   0          18m

Cluster has been created using this command:

jx create cluster gke  -n jx   --zone us-central1-a   --min-num-nodes 3   --max-num-nodes 3    --default-admin-password=admin  --prow  --no-tiller -b

Unable to log in to Jenkins Console after a fresh install

Hello,

I've a launched this JX install:
jx create cluster gke --git-private --gitops --git-api-token xyxyxyxyx --git-provider-kind bitbucketcloud --git-provider-url https://bitbucket.org --git-username usernamexxx

At the end the script prints a way to get my admin password from Vault:
eval jx get vault-config && vault kv get secret/admin/jenkins

So I tried and get my password:
====== Data ======
Key Value


Password en!BaFakePassword
Username admin

But when I go to my Jenkins console (using jx console) I get an error: "Invalid username or password"

support referencing published chart rather than full chart source?

All of the build packs assume a charts directory and a chart that will be built from source. Quickstarts likewise seem to assume that a chart will be provided. It makes sense that there has to be a chart of some sort, to be promoted to the environment.

But if you include the whole chart as source then you can end up duplicated source code when multiple microservices basically use the same helm chart. In activiti we are building example projects in JX and many of them are instances of the same 'type' of component. So it would be nice if they could use the same helm chart as we currently duplicate. Our quickstarts multiply the problem as they mean that everybody who uses the quickstart gets another duplicate and we have no way to roll out upgrades/improvements to those users.

Naturally we could add the chart we want to the requirements file. But then we have to refer to it by a name and add an extra layer of indenting in our values.yaml.

What would be nice is if we could tell JX what chart we want and what values file to apply and JX build the chart for us. So each build in this configuration could do a helm fetch. and apply the values to the fetched chart. We did a PoC on the approach and it seems workable. Would you guys be interested in including an option for this in the platform?

update exposecontroller version

Exposecontroller version is fixed to 2.3.89 in /requirements.yaml, but exposecontroller has evolved since then. Why not upgrade the version in /requirements.yaml ? Could be any problem if we update exposecontroller ?

Thanks

Enable CSRF, disable remote CLI per default in the jenkins chart

As discussed in the slack channel with @jstrachan and @jglick the Jenkins instance should be security hardened per default. This can be done through

  • the use of an init script in the current jenkins chart here
  • later through the use of the specific config parameters in the chart here - this is dependent on the current fork of the charts being rebased.
  • eventually @jglick mentioned it would be better to use the configuration-as-code plugin instead of templating the config.xml - I would see this being carried upstream in the official helm repo though.

garbage collection cronjobs produce massive amounts of error pods

Summary

Every time the cronjobs for garbage collection of previews and activities are triggered they produce a lot of error pods (hundreds in a couple of minutes) and nodes become unusable (NodeNotReady) due to:
rpc error: code = ResourceExhausted desc = grpc: received message larger than max (4194784 vs. 4194304)

I can get the node back online by stopping kubelet, removing all error containers, restarting docker and starting kubelet back up.

For now I have removed the cronjobs from the cluster, but I would rather find the root cause for the job error and fix it. However I don't know how to properly debug the problem, kubectl logs for the error pods does not provide any clue.

Please help.

Jx version

NAME VERSION
jx 1.3.190
jenkins x platform 0.0.2252
kubernetes cluster v1.10.3
kubectl v1.11.2
helm client v2.10.0+g9ad53aa
helm server v2.10.0+g9ad53aa
git git version 2.18.0

Kubernetes cluster

3 nodes 1 master on AWS created with KOPS (Version 1.10.0 (git-8b52ea6d1))

setup Draft too OOTB

it'd be great to setup draft too OOTB when folks do make setup, then folks can manually do draft create on any project to get the Dockerfile and charts folder created for them.

To be able to get draft up to work though, draft needs to be configured to talk to the docker registry inside the cluster - unfortunately there's no way yet to disable the docker push in draft up https://github.com/Azure/draft/issues/432

If you are using minikube and have not changed the context yet (be careful oc project will break it :) then draft up just works!

Otherwise you'll have to configure the cluster IP address of the docker registry a user/pwd. e.g. use 10.110.140.123:5000 then some user/pwd (could be the same jenkins one?).

Am not sure yet if we can automate the passing in of these values if draft init --auto-accept can't guess its on minikube. We may need to raise an issue on draft if not.

BTW we should configure draft after helm; as it checks if tiller is up etc

jx preview fails with a panic: runtime error

I'm getting this error every time I try to create a preview environment to run tests during my builds:

[preview] Running shell script
+ jx preview --app keycloak-service -n keycloak-service-develop-97
Creating a preview
WARNING: No GitInfo could be found!Unable to convert PR develop to a number
Created environment keycloak-service-develop-97
expose:
  config:
    domain: k8s.nestup.com
    exposer: ""
    http: ""
    tlsacme: ""
preview:
  image:
    repository: 100.67.27.94:5000/ppi/keycloak-service
    tag: 0.0.0-SNAPSHOT-develop-97
EXITCODE   0WARNING: Could not find the service URL in namespace jx-keycloak-service-develop-97 for names keycloak-service, jx-keycloak-service-develop-97, jx-keycloak-service-develop-97-preview, jx-keycloak-service-develop-97-keycloak-service
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0x1717237]
goroutine 1 [running]:
github.com/jenkins-x/jx/pkg/jx/cmd.(*PreviewOptions).Run(0xc420321180, 0xc4207a9c50, 0x0)
    /home/jenkins/go/src/github.com/jenkins-x/jx/pkg/jx/cmd/preview.go:504 +0x1287
github.com/jenkins-x/jx/pkg/jx/cmd.NewCmdPreview.func1(0xc420321400, 0xc4207baec0, 0x0, 0x4)
    /home/jenkins/go/src/github.com/jenkins-x/jx/pkg/jx/cmd/preview.go:92 +0x75
github.com/jenkins-x/jx/vendor/github.com/spf13/cobra.(*Command).execute(0xc420321400, 0xc4207bae80, 0x4, 0x4, 0xc420321400, 0xc4207bae80)
    /home/jenkins/go/src/github.com/jenkins-x/jx/vendor/github.com/spf13/cobra/command.go:766 +0x2c1
github.com/jenkins-x/jx/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc420090f00, 0xc4207cea00, 0xc42053e280, 0xc420744780)
    /home/jenkins/go/src/github.com/jenkins-x/jx/vendor/github.com/spf13/cobra/command.go:852 +0x334
github.com/jenkins-x/jx/vendor/github.com/spf13/cobra.(*Command).Execute(0xc420090f00, 0xc42073cc80, 0x28b5a40)
    /home/jenkins/go/src/github.com/jenkins-x/jx/vendor/github.com/spf13/cobra/command.go:800 +0x2b
github.com/jenkins-x/jx/cmd/jx/app.Run(0xc4206bbf70, 0x179dfc9)
    /home/jenkins/go/src/github.com/jenkins-x/jx/cmd/jx/app/jx.go:18 +0x90
main.main()
    /home/jenkins/go/src/github.com/jenkins-x/jx/cmd/jx/jx.go:10 +0x22
script returned exit code 2

I basically can't do builds or move forward with implementing JX until this is fixed

Orphan Maven/Go containers at the end of build (even successful) grab resources

I have experiences on a GKE deployed K8S + jx deployment that lead to have multiple maven & go containers continuing to grab memory & cpu, blocking new deployments at a given time.
Version :

NAME VERSION
jx 1.3.461
jenkins x platform 0.0.2785
Kubernetes cluster v1.9.7-gke.6
kubectl v1.11.3
helm client v2.9.1+g20adb27
helm server v2.10.0+g9ad53aa
git git version 2.13.5

In the maven logs I got :
`INFO: Locating server among [http://jenkins:8080]
Oct 23, 2018 2:01:06 PM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve
INFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping]
Oct 23, 2018 2:01:06 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Agent discovery successful
Agent address: jenkins-agent
Agent port: 50000
Identity: 2b:d8:02:3d:fc:ff:d6:d8:92:67:e6:5b:f8:34:54:aa
Oct 23, 2018 2:01:06 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
Oct 23, 2018 2:01:06 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to jenkins-agent:50000
Oct 23, 2018 2:01:06 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Trying protocol: JNLP4-connect
Oct 23, 2018 2:01:06 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Remote identity confirmed: 2b:d8:02:3d:fc:ff:d6:d8:92:67:e6:5b:f8:34:54:aa
Oct 23, 2018 2:01:06 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connected
Oct 23, 2018 2:01:46 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Terminated
Oct 23, 2018 2:01:46 PM hudson.remoting.UserRequest perform
WARNING: LinkageError while performing UserRequest:hudson.Launcher$RemoteLauncher$KillTask@3aa154ef
java.lang.NoClassDefFoundError: hudson/slaves/SlaveComputer
at hudson.util.ProcessTree.get(ProcessTree.java:401)
at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1096)
at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1087)
at hudson.remoting.UserRequest.perform(UserRequest.java:207)
at hudson.remoting.UserRequest.perform(UserRequest.java:53)
at hudson.remoting.Request$2.run(Request.java:358)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at hudson.remoting.Engine$1$1.run(Engine.java:98)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: hudson.slaves.SlaveComputer
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:159)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 12 more

Oct 23, 2018 2:01:46 PM hudson.remoting.Request$2 run
WARNING: Failed to send back a reply to the request hudson.remoting.Request$2@56f56318
hudson.remoting.ChannelClosedException: channel is already closed
at hudson.remoting.Channel.send(Channel.java:671)
at hudson.remoting.Request$2.run(Request.java:370)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at hudson.remoting.Engine$1$1.run(Engine.java:98)
at java.lang.Thread.run(Thread.java:748)
Caused by: hudson.remoting.Channel$OrderlyShutdown
at hudson.remoting.Channel$CloseCommand.execute(Channel.java:1225)
at hudson.remoting.Channel$1.handle(Channel.java:560)
at hudson.remoting.AbstractByteBufferCommandTransport.processCommand(AbstractByteBufferCommandTransport.java:202)
at hudson.remoting.AbstractByteBufferCommandTransport.receive(AbstractByteBufferCommandTransport.java:188)
at org.jenkinsci.remoting.protocol.impl.ChannelApplicationLayer.onRead(ChannelApplicationLayer.java:186)
at org.jenkinsci.remoting.protocol.ApplicationLayer.onRecv(ApplicationLayer.java:207)
at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecv(ProtocolStack.java:669)
at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.processRead(SSLEngineFilterLayer.java:369)
at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.onRecv(SSLEngineFilterLayer.java:117)
at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecv(ProtocolStack.java:669)
at org.jenkinsci.remoting.protocol.NetworkLayer.onRead(NetworkLayer.java:136)
at org.jenkinsci.remoting.protocol.impl.BIONetworkLayer.access$2200(BIONetworkLayer.java:48)
at org.jenkinsci.remoting.protocol.impl.BIONetworkLayer$Reader.run(BIONetworkLayer.java:283)
... 4 more
Caused by: Command close created at
at hudson.remoting.Command.(Command.java:68)
at hudson.remoting.Channel$CloseCommand.(Channel.java:1265)
at hudson.remoting.Channel$CloseCommand.(Channel.java:1263)
at hudson.remoting.Channel.close(Channel.java:1436)
at hudson.remoting.Channel.close(Channel.java:1403)
at hudson.slaves.SlaveComputer.closeChannel(SlaveComputer.java:821)
at hudson.slaves.SlaveComputer.kill(SlaveComputer.java:788)
at hudson.model.AbstractCIBase.killComputer(AbstractCIBase.java:88)
at hudson.model.AbstractCIBase.updateComputerList(AbstractCIBase.java:227)
at jenkins.model.Jenkins.updateComputerList(Jenkins.java:1549)
at jenkins.model.Nodes$6.run(Nodes.java:261)
at hudson.model.Queue._withLock(Queue.java:1380)
at hudson.model.Queue.withLock(Queue.java:1257)
at jenkins.model.Nodes.removeNode(Nodes.java:252)
at jenkins.model.Jenkins.removeNode(Jenkins.java:2063)
at hudson.slaves.AbstractCloudSlave.terminate(AbstractCloudSlave.java:70)
at org.jenkinsci.plugins.durabletask.executors.OnceRetentionStrategy$1$1.run(OnceRetentionStrategy.java:128)
at hudson.model.Queue._withLock(Queue.java:1380)
at hudson.model.Queue.withLock(Queue.java:1257)
at org.jenkinsci.plugins.durabletask.executors.OnceRetentionStrategy$1.run(OnceRetentionStrategy.java:123)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
... 1 more

Oct 23, 2018 2:01:56 PM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: jenkins/slaves/restarter/JnlpSlaveRestarterInstaller
java.lang.NoClassDefFoundError: jenkins/slaves/restarter/JnlpSlaveRestarterInstaller
at jenkins.slaves.restarter.JnlpSlaveRestarterInstaller$FindEffectiveRestarters$1.onReconnect(JnlpSlaveRestarterInstaller.java:97)
at hudson.remoting.EngineListenerSplitter.onReconnect(EngineListenerSplitter.java:49)
at hudson.remoting.Engine.innerRun(Engine.java:647)
at hudson.remoting.Engine.run(Engine.java:455)
Caused by: java.lang.ClassNotFoundException: jenkins.slaves.restarter.JnlpSlaveRestarterInstaller
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:159)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 4 more`

[Question] Service configurations per environment

First off, I usually do not open issues for questions. However due to the outage on Slack creating new invites, I feel I have no other choice here.

I have experimented with jx with example java services, and all working in my cluster.
Now it is time to use real services, in which case the values.yaml is different per environment (per service).

Problem

I can not find any examples of configuring multiple helm deployed microservices in the staging env.

My github repo for env is environment-jx-staging.
On branch master there is only the single file env/values.yaml .
I would like to see a values.yaml file for each service that is promoted into the staging env.
This 'env' values.yaml file would over-ride the 'helm packaged' values.yaml.

I guess the workflow would be slightly modified so that when the PR on environment-jx-staging is raised, the PR would take additional commits to include a working/overriding values.yaml file. The organization of this is not that clear to me.

Please provide clues for non-trivial examples, specifically how you foresee this being implemented.
I feel like I'm so close, but without configuration management these are toy examples.

Thanks,
Will

Scala projects: expected chart name in chartmuseum is repo name while it should be taken from `name` sbt setting key

On fresh jenkins-x installation.
jx import --url used, all jx files and dirs created automatically.

EDIT: the root of the issue is that the repo name is all capital letters TEST SERVICE. I think that chart should be published under name taken from build.sbt setting key called name and then it should be searched using that name, now we get:

Error: TEST-SERVICE chart not found in repo http://jenkins-x-chartmuseum:8080

Running in /home/jenkins/workspace/stalkerspeckle-staging_PR-1-HIHHWUERTHA4PCNUUBH7S4A3B6MFQXNII5Q3XOLWNUOBYBTW5G2A/env

[Pipeline] {
[Pipeline] sh
[env] Running shell script
+ jx step helm build
No $CHART_REPOSITORY defined so using the default value of: http://jenkins-x-chartmuseum:8080
Using the helm binary: helm for generating the chart release
Client: &version.Version{SemVer:"v2.8.2", GitCommit:"a80231648a1473929271764b920a8e346f6de844", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
Creating /home/jenkins/.helm 
Creating /home/jenkins/.helm/repository 
Creating /home/jenkins/.helm/repository/cache 
Creating /home/jenkins/.helm/repository/local 
Creating /home/jenkins/.helm/plugins 
Creating /home/jenkins/.helm/starters 
Creating /home/jenkins/.helm/cache/archive 
Creating /home/jenkins/.helm/repository/repositories.yaml 
Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com 
Adding local repo with URL: http://127.0.0.1:8879/charts 
$HELM_HOME has been configured at /home/jenkins/.helm.
Not installing Tiller due to 'client-only' flag having been set
Happy Helming!
Adding missing helm repo: jenkins-x https://chartmuseum.build.cd.jenkins-x.io
"jenkins-x" has been added to your repositories
Succesfully added Helm repository jenkins-x.
Adding missing helm repo: releases http://jenkins-x-chartmuseum:8080
"releases" has been added to your repositories
Succesfully added Helm repository releases.
Hang tight while we grab the latest from your chart repositories...
...Unable to get an update from the "local" chart repository (http://127.0.0.1:8879/charts):
	Get http://127.0.0.1:8879/charts/index.yaml: dial tcp 127.0.0.1:8879: getsockopt: connection refused
...Successfully got an update from the "releases" chart repository
...Successfully got an update from the "stable" chart repository
...Successfully got an update from the "jenkins-x" chart repository
Update Complete. ⎈Happy Helming!⎈
Error: TEST-SERVICE chart not found in repo http://jenkins-x-chartmuseum:8080
Error: Command failed  helm dependency build .
error: exit status 1

Multiple issues with jenkins-x-mongodb after upgrading to 0.0.2191

Initially I did an upgrade from 0.0.2137 to 0.0.2191 and got the following error:

error: failed to run 'helm upgrade --namespace  jenkins-x jenkins-x/jenkins-x-platform' command in directory '', output: 'Error: UPGRADE FAILED: Deployment.apps "jenkins-x-mongodb" is invalid: spec.template.metadata.labels: Invalid value: map[string]string{"chart":"mongodb-4.0.4", "release":"jenkins-x", "app":"mongodb"}: `selector` does not match template `labels`': exit status 1

To work around this, I manually deleted the jenkins-x-mongodb deployment and reran jx upgrade platform which appeared to complete successfully, however I noticed the new jenkins-x-mongodb was in CrashLoopBackOff state, due to the following error:

kubectl logs -f jenkins-x-mongodb-7dd488d47b-rwmm6

Welcome to the Bitnami mongodb container
Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-mongodb
Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-mongodb/issues

nami    INFO  Initializing mongodb
mongodb INFO  ==> Deploying MongoDB with persisted data...
mongodb INFO  ==> No injected configuration files found. Creating default config files...
mongodb INFO
mongodb INFO  ########################################################################
mongodb INFO   Installation parameters for mongodb:
mongodb INFO     Persisted data and properties have been restored.
mongodb INFO     Any input specified will not take effect.
mongodb INFO   This installation requires no credentials.
mongodb INFO  ########################################################################
mongodb INFO
nami    INFO  mongodb successfully initialized
INFO  ==> Starting mongodb...
INFO  ==> Starting mongod...
Expected boolean switch but found string:  for option: net.ipv6
try '/opt/bitnami/mongodb/bin/mongod --help' for more information

To workaround the second issue I used a myvalues.yaml file to force the mongodb container image tag to a version that has fixed the above error:

monocular:
  mongodb:
    image:
      tag: 4.0.1-debian-9-r12

See https://github.com/bitnami/bitnami-docker-mongodb/issues/108#issuecomment-414399540

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.