question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Configuration creates Cloud instances twice.

See original GitHub issue

Your checklist for this issue

🚨 Please review the guidelines for contributing to this repository.

  • Jenkins version 2.176.4

  • Plugin version 1.35

  • OS jenkins/jenkins:2.176.4 Docker image

Description

This issue relates to the MesosCloud plugin.

Given the following configuration.yaml

jenkins:
  agentProtocols:
    - "JNLP4-connect"
    - "Ping"
  numExecutors: 0
  clouds:
    - mesos:
        agentUser: "${JENKINS_AGENT_USER:-root}"
        frameworkName: "${JENKINS_FRAMEWORK_NAME:-Jenkins Scheduler}"
        jenkinsURL: "http://${JENKINS_FRAMEWORK_NAME:-jenkins}.${MARATHON_NAME:-marathon}.mesos:${PORT0:-8080}"
        mesosAgentSpecTemplates:
          - label: "linux"
            agentAttributes: ""
            agentCommandStyle: Linux
            containerInfo:
              dockerForcePullImage: false
              dockerImage: "mesosphere/jenkins-dind:0.8.0"
              dockerPrivilegedMode: true
              isDind: true
              networking: HOST
              type: "DOCKER"
            cpus: "0.1"
            disk: "0.0"
            domainFilterModel: "home"
            idleTerminationMinutes: 3
            jnlpArgs: "-noReconnect"
            maxExecutors: 1
            mem: "512"
            minExecutors: 1
            mode: EXCLUSIVE 
          - label: "windows"
            agentAttributes: "os:windows"
            agentCommandStyle: Windows
            containerInfo:
              dockerForcePullImage: false
              dockerImage: "mesosphere/jenkins-windows-node:latest"
              dockerPrivilegedMode: false
              isDind: false
              networking: BRIDGE
              type: "DOCKER"
            cpus: "1.0"
            disk: "0.0"
            domainFilterModel: "any"
            idleTerminationMinutes: 3
            jnlpArgs: "-noReconnect"
            maxExecutors: 1
            mem: "4096"
            minExecutors: 1
            mode: EXCLUSIVE 
        mesosMasterUrl: "${JENKINS_MESOS_MASTER:-http://leader.mesos:5050}"
        role: "${JENKINS_AGENT_ROLE:-*}"
unclassified:
  location:
    adminAddress: "address not configured yet <nobody@nowhere>"
    url: "http://jenkins.marathon.mesos:${PORT0:-8080}/"

When I build and start the docker container with

docker build -t mesosphere/jenkins:unstable .
docker run -e JENKINS_AGENT_USER=kjeschkies -e JENKINS_AGENT_ROLE=foo \
    -e JENKINS_FRAMEWORK_NAME=jenkins \
    -e JENKINS_CONTEXT=f -e PORT0=8080 \
    -e JENKINS_MESOS_MASTER="http://127.0.0.1:5050" \
    -e PORT1=7070 \
    mesosphere/jenkins:unstable

I see two instances of the MesosCloud class:

INFO: Augmented all extensions
May 15, 2020 3:58:47 PM org.jenkinsci.plugins.mesos.MesosCloud <init>
INFO: Created Mesos cloud instance for framework 28a354b3-d435-4c27-973d-abd474f21951 and endpoint http://127.0.0.1:5050                <------ HERE
May 15, 2020 3:58:49 PM akka.event.slf4j.Slf4jLogger$$anonfun$receive$1 applyOrElse
INFO: Slf4jLogger started
May 15, 2020 3:58:49 PM org.jenkinsci.plugins.mesos.MesosApi <init>
INFO: Starting USI scheduler flow.
May 15, 2020 3:58:50 PM org.jenkinsci.plugins.mesos.MesosApi getInstance
INFO: Initialized Mesos API object for framework 28a354b3-d435-4c27-973d-abd474f21951
May 15, 2020 3:58:51 PM com.mesosphere.mesos.client.MesosClient$ com$mesosphere$mesos$client$MesosClient$$mesosHttpConnection
INFO: Connecting to Mesos master http://127.0.0.1:5050
May 15, 2020 3:58:51 PM org.jenkinsci.plugins.mesos.MesosCloud <init>
INFO: Created Mesos cloud instance for framework 467fe63d-1c4e-43a2-8bde-7b26a63e4331 and endpoint http://127.0.0.1:5050                <------ HERE
May 15, 2020 3:58:51 PM akka.event.slf4j.Slf4jLogger$$anonfun$receive$1 applyOrElse
INFO: Slf4jLogger started
May 15, 2020 3:58:51 PM org.jenkinsci.plugins.mesos.MesosApi <init>
INFO: Starting USI scheduler flow.
May 15, 2020 3:58:51 PM org.jenkinsci.plugins.mesos.MesosApi getInstance
INFO: Initialized Mesos API object for framework 467fe63d-1c4e-43a2-8bde-7b26a63e4331
May 15, 2020 3:58:51 PM com.mesosphere.mesos.client.MesosClient$ com$mesosphere$mesos$client$MesosClient$$mesosHttpConnection
INFO: Connecting to Mesos master http://127.0.0.1:5050

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:25 (14 by maintainers)

github_iconTop GitHub Comments

1reaction
timjacommented, May 19, 2020

I have an unfinished PoC for it

What’s left to make it happen? I am happy to help. The Mesos Cloud plugin could benefit from such an help page as well.

time and interest that others would be interested in it.

I think our docs could live on Jenkins.io? 🤔

not sure if plugin specific docs should live there, I’m very much in favour of docs living with the code so that they stay in sync when changed

1reaction
timjacommented, May 19, 2020

What do you think about a simple Github pages for this?

I have an unfinished PoC for it: https://jenkins-configuration-as-code.netlify.app/docs/configuration-reload/

Read more comments on GitHub >

github_iconTop Results From Across the Web

Spring cloud config + bus calls twice to the config server when ...
I have created a simple project using spring-cloud-config and spring-cloud-bus. For some reason, the config client calls twice to the config ...
Read more >
Troubleshoot AWS CodePipeline when it runs twice
There are two common reasons AWS CodePipeline runs more than once: The PollForSourceChanges parameter is set to true, and that causes a ...
Read more >
About high availability | Cloud SQL for MySQL
An HA-configured instance costs twice as much as a standalone instance. This price includes CPU, RAM, and storage. For more information, see the...
Read more >
Configure Double Opt-In for a Classic List in Marketing Cloud
Creating a double opt-in campaign requires your subscribers to confirm their email address by clicking a link in an email they receive after...
Read more >
Cloud config examples - cloud-init 22.4.2 documentation
116# snapuser: Create a Snappy (Ubuntu-Core) user via the snap ... 1#cloud-config 2# 3# This is an example file to configure an instance's...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found