All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [Fuego] Executing test on slave machine connected to target board via serial port
@ 2019-02-06 18:55 dhinakar k
  2019-02-13  3:02 ` Tim.Bird
  0 siblings, 1 reply; 41+ messages in thread
From: dhinakar k @ 2019-02-06 18:55 UTC (permalink / raw)
  To: fuego

[-- Attachment #1: Type: text/plain, Size: 18765 bytes --]

Hi Tim,

Thanks for your prompt response.
I think your second approach will be very good (SSH pass through to serial
port) as I don't need to setup any jenkins slave on the PC connected to the
target PC. Also since the PCs are on LAN I can provide SSH connectivity to
slave PCs.

I am very much interested in this -> 'Let me know what you think of this,
and maybe I can cobble together a proof of concept for you to try out.' Iam
eagerly waiting for it :)

Thanks again.
Regards,
Dhinakar


On Wed, 6 Feb 2019, 1:06 pm <fuego-request@lists.linuxfoundation.org wrote:

> Send Fuego mailing list submissions to
>         fuego@lists.linuxfoundation.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         https://lists.linuxfoundation.org/mailman/listinfo/fuego
> or, via email, send a message with subject or body 'help' to
>         fuego-request@lists.linuxfoundation.org
>
> You can reach the person managing the list at
>         fuego-owner@lists.linuxfoundation.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Fuego digest..."
>
>
> Today's Topics:
>
>    1. Re: [PATCH v2] rpm: Fix test case rpm02. (Tim.Bird@sony.com)
>    2. Re: Executing test on slave machine connected to target board
>       via serial port (Tim.Bird@sony.com)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 5 Feb 2019 18:47:33 +0000
> From: <Tim.Bird@sony.com>
> To: <zhengrq.fnst@cn.fujitsu.com>, <fuego@lists.linuxfoundation.org>
> Subject: Re: [Fuego] [PATCH v2] rpm: Fix test case rpm02.
> Message-ID:
>         <ECADFF3FD767C149AD96A924E7EA6EAF8E0E93A8@USCULXMSG01.am.sony.com>
> Content-Type: text/plain; charset="utf-8"
>
> I'm not sure I understand the issue here.
>
> Please see questions inline below.
>
> > -----Original Message-----
> > From: Zheng Ruoqin
> >
> > In some user's boards, the rpm provided in this suite is not fit for
> them, and
> > rpm can't be installed.
> >
> > This patch provide an srpm file for user to rebuild it to produce the
> > rpm file fit for them.
> >
> > Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
> > Signed-off-by: Qiu Tingting <qiutt@cn.fujitsu.com>
> > ---
> >  .../{ => data}/test-manual-1.2.3.noarch.rpm          | Bin
> >  .../Functional.rpm/data/test-manual-1.2.3.src.rpm    | Bin 0 -> 2335
> bytes
> >  engine/tests/Functional.rpm/fuego_test.sh            |  19
> > +++++++++++++++++--
> >  engine/tests/Functional.rpm/tests/rpm_02.sh          |   2 +-
> >  4 files changed, 18 insertions(+), 3 deletions(-)
> >  rename engine/tests/Functional.rpm/{ => data}/test-manual-
> > 1.2.3.noarch.rpm (100%)
> >  create mode 100644 engine/tests/Functional.rpm/data/test-manual-
> > 1.2.3.src.rpm
> >
> > diff --git a/engine/tests/Functional.rpm/test-manual-1.2.3.noarch.rpm
> > b/engine/tests/Functional.rpm/data/test-manual-1.2.3.noarch.rpm
> > similarity index 100%
> > rename from engine/tests/Functional.rpm/test-manual-1.2.3.noarch.rpm
> > rename to engine/tests/Functional.rpm/data/test-manual-1.2.3.noarch.rpm
> > diff --git a/engine/tests/Functional.rpm/data/test-manual-1.2.3.src.rpm
> > b/engine/tests/Functional.rpm/data/test-manual-1.2.3.src.rpm
> > new file mode 100644
> > index
> > 0000000000000000000000000000000000000000..9c0f45da76baed63ab88be262
> > 18c90f813ab260f
> > GIT binary patch
> > literal 2335
> > zcma)+c~DbV6o+2|Dn?OSsiGwiTo6=V-
> > %DOzlBx(55drs|#W8QgSdu^%tEjc&0xlp3
> > zZle~pfICH0MC%`nOJzivx@%o)s|7|-sue|%o*Qo++L_Mu&Yb-6-E-
> > c#=iGbWYuMj-
> > z+l?S(gv=q@9U*3;#c50qp-
> > DBV2~ktDo~CFu@qdSm=<x5*?1Qy3JcoQ!z(T<~fkl9M
> > z!P1_f9l_9mShreGcd#LtpMaux3Jl`io`NEO7?_ObC|0Ct9VZ%iLDDg-
> > PSofPtVW=9
> > zyg;k9T7lBB5~qb&7#^LX?Lmzv@1)x{24)xJgbpczRA<29s;RB5trY&l8U)d<Zm2^
> > p
> > zz|;sZs6&o=Krv{}0}PG7>qdRZG1q}2?uNM@vo~hcS7$IK<_65cm>WSq^ojdM`
> > 695t
> > z3Hv8tehG^Fs6JHBD^Qew2Idw}RIh}&6%@rU!2AyLlK1S6)<%{I20gi>Shy-
> > g4rY`a
> > zaXw}RD2m^VxeF*-ZwKbC?^)ItGdg#Om-
> > WZo9s6OwUF)GehUaC&Fn<Dy;$t!UU`G9-
> > z`g((+_yo*-Ft5cN1PVRKwt>R_xa&btzCz3fQ1tvB%%5Yvf;k-
> > XL(Gw&C|@1s(V&nI
> > zN_k&T6lTcjs&5P^{FkG?P`#*56p!u$;zaEC#XJjh7$~Y&0EPABs1C#;W>g1a33JS
> > Q
> > z?vV$I^1JTGNTS{QO}O4~;=}vh-WBb%J5)v$no`+P%qqLn<bajpE2|Qct-
> > LXLj@9mf
> > z#BlT@M^A_)BCNdAELt2!hskPbzXs_r+Q_6dBH3hd&L=EZqm7^AdQQF!q;lzzr
> > AH7#
> > z-
> > uU>+)0ah_;W)iUt2anmMoZ~<o@FGSlO#?fQnbM!NIcE5YBkT&YKB#7MM2N
> > <46Wfb
> > zdQK;3IYQFujf|EN1ihMN8CuPAf<S4EdY!<*SAo(}ypE?RJtwg=XW-
> > RFJ<W(ZJ*Cmm
> > zMxN)@_yeIrHKolFElIZ2|5W%+xCU&x0vT*mvWW|dG$o4>rX<)ndoY3LMq1
> > 4&HqmYu
> > z1>_xPG>hP4NS35RXhK6$Bm>HjG)-
> > #IUaYN*Lu;!hIjyNCi)t9Igp@3HM;LD*CFfj|
> > z!|o(`t2vYiQH`;f9IAPu&5rgSZ}EpiQqfwCLBmpdmO@Rr?g+XkE^}Q{*DU<BJAT
> > rh
> > zBJ%&3z{g1NDJCnClx9jH(0hUgy4S96Vq05l82tD0UxTLL#<^upPK@%N=>2VN5
> > gG78
> > zigJeZEH8L{+yATFD(}g$sb<eN{pP-GynA==>*qDw-
> > ^N7m$t>J7rT${y%)$)63#Zlx
> > z9jq<dF)6(;-
> > A^H>!~F*(Y`vA}%<^pYYrLbmZ@6!0PRaK2lBWk1=C*V^n>oJ9^OAqK
> > zT+z}mxVp!S;w9&H^}hGKpmf3FrCeUwzQUR7Pi^TK*>&>Zy%j!W-
> > )c8zHh2C+dDxn5
> > z8PC(HX{7?$ae+G>q}bIde`eXoAp?SPcQT1(o)fHl_eI35wu^iEpAdzj&u-
> > )vaaqw<
> > zYr4!8mLEM3yTPg5G3%JesV_)vcJ%T!$K(%Ib3Hz~6}9Tg;aEjczJLFfim@@pH($~
> > o
> > z>^IeCuBuhHJ!X0aI<5uut<eyXos}#1nd7g=4hmM>RBX*uDsq<wTnkti{P1GWJ
> > Z{6l
> > zx{al5hpUq(ZV9{IbE>iOX+}wTzUq?m=bE9x^LKmSBUg+~42!(q)NA#k(2D%xiY
> > =>s
> > z&BfJSWWCC&e<CIZ#Bech&1B%<n~u01c|ij#1FwzCi1ANPtY>p#=Ita#j|ecO9;i
> > (%
> > zRZjEjz0zyNu7O(FvnctOsXpZ|B4;l9Ax^o5vC(f*7v}tU_CTIm8`7<=-cosL(AeT<
> > zj<l0RKjG;&Nu!27$dV*w=fQVm))HmZ_^v!}|Gm%SyH!`dyHLOC()igvj|=kV`|f
> > $8
> > zz1jTB;&ZJfTi$s->a?)SdEL0?f~x(SnPYd3H$DI3!o{N<hToW*;a78FMBA&-sqxN=
> > z%?-gV70X)F#I_YTk{XA9`owq113zWe8~cHSe>VO0>S@`bm&f0ZzOnoI_glBm-
> > *B>}
> > zVN^~*qw=`3e5`5CEoPWuVe_KP$zR9Y4xPB&C+%Ky;F2fRMU7Qq(`_Ynj~b5u
> > 8nC}#
> > zzV9Go&(zv6;XZ-
> > WX^Uj)zUg#y>$_3HJDVyYZt7uO!i*WU`Axk}uA8;_417HQ0{fs{
> > Ak^lez
> >
> > literal 0
> > HcmV?d00001
> >
> > diff --git a/engine/tests/Functional.rpm/fuego_test.sh
> > b/engine/tests/Functional.rpm/fuego_test.sh
> > index 2a56a6d..b7856d8 100755
> > --- a/engine/tests/Functional.rpm/fuego_test.sh
> > +++ b/engine/tests/Functional.rpm/fuego_test.sh
> > @@ -1,19 +1,34 @@
> >  NEED_ROOT=1
> >
> > +NEED_BUILD_RPM=false
> >  function test_pre_check {
> >      is_on_target_path rpm PROGRAM_RPM
> >      assert_define PROGRAM_RPM
> > +    is_on_target_path rpmbuild PROGRAM_RPMBUILD
> > +    if [ -n $PROGRAM_RPMBUILD ];
> > +    then
> > +        NEED_BUILD_RPM=true
> > +    fi
>
> OK - just to clarify.  The logic here is that if a board has 'rpm' but not
> 'rpmbuild',
> then just use the default test rpm package for the test.  But if a board
> has
> the command 'rpmbuild' in the PATH, then use that to rebuild the
> test rpm package, and use that instead of the default test rpm package.
>
> Is that right?
>
> What is deficient about the default test rpm package, that it cannot
> be used in some circumstances?
>
> I see that you are manipulating '_topdir' in the rebuild.  Is there some
> problem
> with the test package touching things outside the Fuego test directory?
>
> Can you provide an error message or log for when using the default test rpm
> package fails on some board - that this fix is trying to address?
>
> This is a fairly heavy-weight fix.  Not many embedded products will
> have rpmbuild installed IMHO, so I hesitate to make that a requirement.
> But it seems like the test still attempts to work even if 'rpmbuild' is
> missing.
>
> But I want to get a sense for how many systems will have problems
> with this test, in the case that rpmbuild is not present.
>
> And I'm wondering if there's another way to resolve whatever problem
> the test rpm package has (like maybe using --relocate option with 'rpm'
> if there is some directory or path problem).
>
> Thanks,
> (Not applied yet)
>  -- Tim
>
>
> >  }
> >
> >  function test_deploy {
> >      put $TEST_HOME/rpm_test.sh $BOARD_TESTDIR/fuego.$TESTDIR/
> > -    put $TEST_HOME/test-manual-1.2.3.noarch.rpm
> > $BOARD_TESTDIR/fuego.$TESTDIR/
> > +    put -r $TEST_HOME/data $BOARD_TESTDIR/fuego.$TESTDIR/
> >      put -r $TEST_HOME/tests $BOARD_TESTDIR/fuego.$TESTDIR/
> >  }
> >
> >  function test_run {
> > +    if [ $NEED_BUILD_RPM ];
> > +    then
> > +        cmd "cd $BOARD_TESTDIR/fuego.$TESTDIR; \
> > +            mv /etc/rpm/platform /etc/rpm/platform.old; \
> > +            rpmbuild --define \"_topdir \${dir:-
> > $BOARD_TESTDIR/fuego.$TESTDIR/rpm}\" --rebuild data/test-manual-
> > 1.2.3.src.rpm; \
> > +            mv /etc/rpm/platform.old /etc/rpm/platform; \
> > +            mv rpm/RPMS/noarch/test-manual-1.2.3-20181012.noarch.rpm
> > data/test-manual-1.2.3.noarch.rpm"
> > +    fi
> >      report "cd $BOARD_TESTDIR/fuego.$TESTDIR; \
> > -        sh -v rpm_test.sh"
> > +        sh -v rpm_test.sh; \
> > +        rpm -e test-manual"
> >  }
> >
> >  function test_processing {
> > diff --git a/engine/tests/Functional.rpm/tests/rpm_02.sh
> > b/engine/tests/Functional.rpm/tests/rpm_02.sh
> > index 9b0f411..4a7de3b 100644
> > --- a/engine/tests/Functional.rpm/tests/rpm_02.sh
> > +++ b/engine/tests/Functional.rpm/tests/rpm_02.sh
> > @@ -11,7 +11,7 @@ then
> >      rpm -e $test_manual
> >  fi
> >
> > -rpm -ivh ${test_manual}.rpm --nodeps
> > +rpm -ivh data/${test_manual}.rpm --nodeps
> >
> >  if rpm -ql $test_manual | grep '.*/home/test/rpm-test/text1.txt.*'
> >  then
> > --
> > 1.8.3.1
> >
> >
> >
> > _______________________________________________
> > Fuego mailing list
> > Fuego@lists.linuxfoundation.org
> > https://lists.linuxfoundation.org/mailman/listinfo/fuego
>
> ------------------------------
>
> Message: 2
> Date: Wed, 6 Feb 2019 06:21:15 +0000
> From: <Tim.Bird@sony.com>
> To: <dhinakar.k@samsung.com>
> Cc: fuego@lists.linuxfoundation.org
> Subject: Re: [Fuego] Executing test on slave machine connected to
>         target board via serial port
> Message-ID:
>         <ECADFF3FD767C149AD96A924E7EA6EAF8E0E9606@USCULXMSG01.am.sony.com>
> Content-Type: text/plain; charset="utf-8"
>
>
>
> > -----Original Message-----
> > From: Dhinakar Kalyanasundaram
> > Hi Tim,
> >
> > Thanks for the detailed response.
> >
> > Sorry for the confusion.
> >
> > I have provided below a better explanation of my proposal/requirement.
> >
> > Proposal/Requirement:
> >
> > I have setup Fuego on a powerful DELL server to cater to multiple
> > projects/teams.
> >
> > The server is kept in a lab at a remote location, hence target boards
> won't be
> > directly connected to it.
> >
> > In case of projects where 'ethernet' IP is supported, I can connect the
> target
> > board to corporate LAN, create a board file ~fuego/fuego-ro/boards and
> run
> > tests on it remotely.
> >
> > So multiple users can connect their target board similar way, execute
> their
> > tests and all results will be available on the Fuego server (Dell
> server).
> >
> > The issue is in case of projects where 'ethernet' IP is not supported,
> say only
> > UART or Serial connectivity is supported.
> >
> >
> >
> > As mentioned in this link you sent
> https://www.quora.com/What-is-the-use-
> > of-master-and-slave-in-Jenkins , Fuego running on Dell Server will be the
> > 'Jenkins Master'.
> >
> > I thought of setting up Jenkins slave on the user pc (Linux/windows) and
> > connecting the target boards to it and trigger tests from Fuego
> dashboard.
> >
> > There can be multiple Jenkins slaves one for each board (connected via
> micro
> > usb or uart or serial port).
> >
> >
> >
> > I have done similar Jenkins Master & Slave setups successfully before but
> > without Fuego (I mean just with Jenkins).
> >
> > In case of  Fuego, since Jenkins master runs inside the container I was
> > checking out what will be best way to establish connection between,
> >
> > Jenkins Master (running inside fuego container) and Jenkins Slave(s)
> which
> > could be just any other pc (Linux/windows) on the network attached to
> > target board.
> >
> > Jenkins Master need to trigger the test on the Jenkins Slave to which
> target
> > board is connected via serial/uart port.
> >
> > How to create a board file in such cases? and I will also have to
> install/setup
> > 'Jenkins Slave' on those PCs where target board is attached.
> >
> > It is here I want your advice/suggestions.
> >
> > I hope the above explanation clarifies my requirement, else please let me
> > know.
>
>
> OK - this clarifies things a lot.  Thanks.
>
> There are, IMO, two possible approaches here.  One would be to put a Fuego
> docker
> container on the slave, and use a headless jenkins slave to execute the
> job on the board.
> This would include building the test, deploying it, gathering the logs,
> analyzing them,
> and populating the run.json results for the test.    This requires that
> the slave machine
> have toolchains installed in the docker container there, and that you work
> out some
> mechanism to transfer the run data back to the master machine.  This
> sounds like a lot
> of work.
>
> The second approach would be to just put together a new Fuego 'transport',
> that talks
> from the master to the slave, that the slave can then relay to the board
> using the serial
> port.  Fuego really only requires 4 operations to communicate with the
> board:
>  put, cmd, get, reboot
>
> So what you could do would be to make board definition on the master
> machine, and
> then define the transport routines for the boards connected to the slave,
> that utilize
> some ssh pass-through to the serial port.  I presume that the master has
> ssh access to
> the slave machine.  If not, then it's still possible.  We toyed with the
> idea of creating a
> web-based transport for Fuego, where the host would deposit materials on a
> web site,
> and the target machine would retrieve them (operations and data) and
> perform them.
> Originally I envisioned the target board itself doing this (for boards
> that have network access
> but not ssh access (only http or something)).  However, you could use the
> same approach
> with a slave machine to which boards are connected via serial port.
>
> This does not require any Jenkins code on the slave machine, and indeed it
> could be
> quite a lightweight machine (like a raspberry pi or something), since it's
> basically just
> serving as a network to serial gateway for a few operations.
>
> Let me know what you think of this, and maybe I can cobble together a
> proof of concept
> for you to try out.
>
> The big question is: does the master have ssh access to the slave
> machine?  If so, then
> I think that simplifies things considerably.
>  -- Tim
>
> > --------- Original Message ---------
> >
> > Sender : Tim.Bird@sony.com <Tim.Bird@sony.com>
> >
> > Date : 2019-02-05 01:05 (GMT+5:30)
> >
> > Title : RE: [Fuego] Executing test on slave machine connected to target
> board
> > via serial port
> >
> >
> >
> > > -----Original Message-----
> > > From: Dhinakar Kalyanasundaram
> > >
> > > Dear Fuego Users,
> > >
> > > I am checking out the feasibility of executing tests on a slave machine
> > which
> > > is connected to target board via serial port.
> > >
> > > The idea is to setup Fuego on a power server and creates nodes in it.
> > I don't know what this means.
> >
> > >
> > > Each node will resemble a host pc on the network which is connected to
> > the
> > > target board via serial port.
> > >
> > > I am not sure how to setup master/slave in such a scenario.
> > >
> > > The Jenkins running inside Fuego container will be the master and
> slaves
> > can
> > > be PCs (Linux/windows) with Jenkins agent installed?
> > I don't know what you mean by  'Jenkins agent'.
> > Are you talking about /fuego-core/engine/scripts/slave.jar or
> > /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar, or something else?
> >
> > Are you trying to create Jenkins slaves on other nodes?
> >
> > Specifically, are you talking about Jenkins masters and slaves
> > as described here:?
> > https://www.quora.com/What-is-the-use-of-master-and-slave-in-Jenkins
> >
> > > How can the Jenkins running inside container connect to Jenkins slave
> on
> > > other PC? Any plugins required like 'docker plugin' to achieve this.
> >
> > >
> > > Please let me know if any of you had a similar requirement and
> > implemented
> > > it.
> >
> > I'm not following what you are trying to do here, or what problem you
> > are trying to solve.
> >
> > Fuego is fairly heavily geared towards an environment where a single host
> > is connected to (or has network access to) one or more target boards.
> > It is possible, though, to split up test operations between different
> machines
> > (and that will likely be key to integrating better with LAVA in the near
> future).
> >
> > Here are some letters to indicate where operations are performed during
> > test operation:
> > Jh = performed by Jenkins in docker container on Fuego host
> > Fh = performed by Fuego core code on the Fuego host
> > Th = performed by Test code on Fuego host
> > Tb = performed by test code on target board
> >
> > Below is a list of test operations, and where they take place now.
> > Can you indicate which of these you would like to move to a separate
> > machine,
> > and why?  I think this will help me understand whether (and how) Fuego
> > and Jenkins can support your proposed architecture.
> >
> >  - trigger (detection that a test should be run) - Jh
> >  - job scheduling (deciding which node should execute a job, and waiting
> until
> > the node is available) - Jh
> >  - build software under test (left as exercise for the user)
> >  - install software under test to the target board (left as an exercise
> for the
> > user)
> >  - build test software - Fh/Th
> >  - deploy test software to target board - Fh/Th/Tb
> >  - execute test software - Tb
> >  - collect logs and results - Fh/Th/Tb
> >  - parse test log - Fh/Th
> >  - format results - Fh
> >  - display results - Jh
> >
> > Depending on the test, it might also do:
> >  - reboot the target board - could be Fh or Th or Tb.
> >
> > I believe you are proposing that some of these operations should be moved
> > to other machines,
> > or have their execution or control split between a primary Fuego host and
> > some secondary
> > machines.  Can you describe in greater detail what you want to do?
> >
> > Thanks,
> >  -- Tim
> >
> >
> >
> >
> > <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhina
> > kar.k&do=bWFpbElEPTIwMTkwMjA1MTM0MzAxZXBjbXM1cDVkYmQ2Yzc3M
> > TM1OTY2N2RjYjk3YzY0ODI0YjdiODRlMiZyZWNpcGllbnRBZGRyZXNzPVRpbS5C
> > aXJkQHNvbnkuY29t>
>
> ------------------------------
>
> _______________________________________________
> Fuego mailing list
> Fuego@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/fuego
>
>
> End of Fuego Digest, Vol 31, Issue 8
> ************************************
>

[-- Attachment #2: Type: text/html, Size: 25065 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Executing test on slave machine connected to target board via serial port
  2019-02-06 18:55 [Fuego] Executing test on slave machine connected to target board via serial port dhinakar k
@ 2019-02-13  3:02 ` Tim.Bird
  2019-02-13 13:08   ` dhinakar k
       [not found]   ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p8>
  0 siblings, 2 replies; 41+ messages in thread
From: Tim.Bird @ 2019-02-13  3:02 UTC (permalink / raw)
  To: dhinakar.k, fuego



> -----Original Message-----
> From: dhinakar k
> 
> Hi Tim,
> 
> Thanks for your prompt response.
> I think your second approach will be very good (SSH pass through to serial
> port) as I don't need to setup any jenkins slave on the PC connected to the
> target PC. Also since the PCs are on LAN I can provide SSH connectivity to
> slave PCs.
> 
> I am very much interested in this -> 'Let me know what you think of this, and
> maybe I can cobble together a proof of concept for you to try out.' Iam
> eagerly waiting for it :)

OK - I have a draft system that works for some tests.  It is not yet finished,
but it shows a proof-of-concept.

This patch is applied in the 'next' branch on the bitbucket fuegotest fuego-core
repository.

It took a while to debug this far.  You have to add some variables to the
board file on the main host, to take into account the proxy host.  Also,
you need to have serio, serlogin, sersh, and sercp in /usr/local/bin
and python on the PATH on the proxy host,  and you must be able
to access the proxy host from the main host via ssh.

Please try it out and let me know what you think.

Here's the patch...
Subject: [PATCH] transport: add ssh2serial transport

This transport allows doing chained transport operations through a
proxy host to which a board is connected via serial port.

The following board variables are used:
 IPADDR = proxy host IP address
 SSH_KEY = optional SSH key for proxy host
 S2S_LOGIN = proxy host login account
 S2S_PASSWORD = proxy host password
 TRANSPORT = is set to "ssh2serial"
 LOGIN = board login account
 PASSWORD = board password
 SERIAL = device node on proxy host for serial port connected to board
 BAUD = baud rate for serial connection to board

As of this writing, Functional.hello_world works.  There are known
issues with other tests (with get and put of weird options).  But this
is a good start.

Signed-off-by: Tim Bird <tim.bird@sony.com>
---
 overlays/base/base-board.fuegoclass   | 121 +++++++++++++++++++++++++++++++---
 overlays/base/base-distrib.fuegoclass |   2 +-
 overlays/base/base-params.fuegoclass  |  14 +++-
 3 files changed, 124 insertions(+), 13 deletions(-)

diff --git a/overlays/base/base-board.fuegoclass b/overlays/base/base-board.fuegoclass
index 7bb1cf6..ae35464 100644
--- a/overlays/base/base-board.fuegoclass
+++ b/overlays/base/base-board.fuegoclass
@@ -28,6 +28,7 @@ function ov_transport_connect () {
       return 0
       ;;
     ssh|ttc)
+      export SSHPASS=$PASSWORD
       retries=1
       while [ $retries -le $max_retries ] ; do
         ov_transport_cmd "true"
@@ -40,6 +41,7 @@ function ov_transport_connect () {
       return 1
       ;;
     serial)
+      assert_define SERIAL
       retries=1
       while [ $retries -le $max_retries ] ; do
         # use serlogin for logging in to the target board
@@ -59,22 +61,45 @@ function ov_transport_connect () {
     lava)
       # put LAVA connect here
       ;;
+    ssh2serial)
+      export SSHPASS=$S2S_PASSWORD
+
+      # make sure required variables are present
+      assert_define IPADDR
+      assert_define SERIAL
+      assert_define S2S_LOGIN
+
+      retries=1
+      while [ $retries -le $max_retries ] ; do
+        if [ -n ${PASSWORD} ] ; then
+          sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "$S2S_SERLOGIN -P \"${PASSWORD}\" $LOGIN"
+        else
+          sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "$S2S_SERLOGIN $LOGIN"
+        fi
+        if [ $? -eq 0 ] ; then
+          return 0
+        fi
+        sleep 1
+        retries=$(( $retries + 1 ))
+      done
+      return 1
+      ;;
     *)
-     abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT}"
+     abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT} in ov_transport_connect"
      ;;
   esac
 }
 
 function ov_transport_disconnect () {
   case "$TRANSPORT" in
-  ssh|ttc|local|serial)
+  ssh|ttc|local|serial|ssh2serial)
     return 0
     ;;
   lava)
     # put LAVA disconnect here
     ;;
   *)
-    abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT}"
+    abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT} in ov_transport_disconnect"
     ;;
   esac
 }
@@ -113,12 +138,49 @@ function ov_transport_get () {
     # put LAVA get here
     # could be a recursive call with TRANSPORT=ssh
     ;;
+  ssh2serial)
+    # make a staging area on the proxy host
+    TRANSFER_DIR="/tmp/transfer-$IPADDR"
+    ov_s2s_proxy_cmd "mkdir -p $TRANSFER_DIR"
+
+    # copy materials from board to proxy host
+    if startswith $SERIAL "/" ; then
+        cmds="$S2S_SERCP -d $SERIAL serial:\"$1\" ${TRANSFER_DIR}"
+    else
+        cmds="$S2S_SERCP $SERIAL:\"$1\" ${TRANSFER_DIR}"
+    fi
+    if [ -n "${SSH_KEY}" ] ; then
+      ssh -i ${SSH_KEY} ${S2S_SSH_ARGS}${IPADDR} "$cmds"
+    else
+      sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "$cmds"
+    fi
+
+    # copy materials from proxy host to here
+    filename=$(basename $1)
+    if [ -n "${SSH_KEY}" ] ; then
+      scp -i ${SSH_KEY} ${S2S_SCP_ARGS} -r "${S2S_LOGIN}@${IPADDR}:${TRANSFER_DIR}/$filename" "${*:2}"
+    else
+      sshpass -e scp ${S2S_SCP_ARGS} -r "${S2S_LOGIN}@${IPADDR}:${TRANSFER_DIR}/$filename" "${*:2}"
+    fi
+
+    # remove materials from proxy host
+    ov_s2s_proxy_cmd "rm -rf $TRANSFER_DIR"
+    ;;
   *)
-   abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT}"
+   abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT} in ov_transport_get"
    ;;
   esac
 }
 
+# execute a command on the ssh2serial proxy host
+function ov_s2s_proxy_cmd () {
+    if [ -n "${SSH_KEY}" ] ; then
+      ssh -i ${SSH_KEY} ${S2S_SSH_ARGS}${IPADDR} "$@"
+    else
+      sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "$@"
+    fi
+}
+
 # $1 = local file (source); $2 = remote file (destination)
 # FIXTHIS - ov_transport_put:  'ttc cp' doesn't support multiple sources
 # FIXTHIS - ov_transport_put:  'ttc cp' doesn't support recursion (-r argument)
@@ -153,8 +215,40 @@ function ov_transport_put () {
     # put LAVA put here
     # could be a recursive call with TRANSPORT=ssh
     ;;
+  ssh2serial)
+    # make a staging area on the proxy host
+    TRANSFER_DIR="/tmp/transfer-$IPADDR"
+
+    # pre-remove dir, just in case a previous test left stuff around
+    ov_s2s_proxy_cmd "rm -rf $TRANSFER_DIR"
+    ov_s2s_proxy_cmd "mkdir -p $TRANSFER_DIR"
+
+    # copy materials to the proxy host
+    if [ -n "${SSH_KEY}" ] ; then
+      scp -i ${SSH_KEY} ${S2S_SCP_ARGS} -r "${@:1:$(($#-1))}" $S2S_LOGIN@$IPADDR:"${TRANSFER_DIR}"
+    else
+      sshpass -e scp ${S2S_SCP_ARGS} -r "${@:1:$(($#-1))}" $S2S_LOGIN@$IPADDR:"${TRANSFER_DIR}"
+    fi
+
+    # copy from proxy host to board
+    filename=$(basename ${@: 1})
+    # FIXTHIS - ssh2serial put doesn't work with multiple source files
+    if startswith $SERIAL "/" ; then
+        cmds="cd $TRANSFER_DIR ; $S2S_SERCP -d $SERIAL \"${filename}\" \"serial:${@: -1}\" ; wait"
+    else
+        cmds="cd $TRANSFER_DIR ; $S2S_SERCP \"${filename}\" \"${SERIAL}:${@: -1}\" ; wait"
+    fi
+    if [ -n "${SSH_KEY}" ] ; then
+      ssh -i ${SSH_KEY} ${S2S_SSH_ARGS}${IPADDR} "$cmds"
+    else
+      sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "$cmds"
+    fi
+
+    # remove materials from proxy host
+    ov_s2s_proxy_cmd "rm -rf $TRANSFER_DIR"
+    ;;
   *)
-   abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT}"
+   abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT} in ov_transport_put"
    ;;
   esac
 }
@@ -162,20 +256,20 @@ function ov_transport_put () {
 # $@ = command and args for remote execution
 function ov_transport_cmd() {
   case "$TRANSPORT" in
-  "ssh")
+  ssh)
     if [ -n "${SSH_KEY}" ] ; then
       ssh -i ${SSH_KEY} ${SSH_ARGS}${DEVICE} "$@"
     else
       sshpass -e ssh ${SSH_ARGS}${DEVICE} "$@"
     fi
     ;;
-  "ttc")
+  ttc)
     $TTC $TTC_TARGET run "$@"
     ;;
-  "local")
+  local)
     /bin/sh -c "$@"
     ;;
-  "serial")
+  serial)
     ${SERSH} "$@"
     wait
     ;;
@@ -183,8 +277,15 @@ function ov_transport_cmd() {
     # put LAVA cmd here
     # could be a recursive call with TRANSPORT=ssh
     ;;
+  ssh2serial)
+    if [ -n "${SSH_KEY}" ] ; then
+      ssh -i ${SSH_KEY} ${S2S_SSH_ARGS}${IPADDR} "${S2S_SERSH} '$@'"
+    else
+      sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "${S2S_SERSH} '$@'"
+    fi
+    ;;
   *)
-   abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT}"
+   abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT} in ov_transport_cmd"
    ;;
   esac
 }
diff --git a/overlays/base/base-distrib.fuegoclass b/overlays/base/base-distrib.fuegoclass
index 62dd534..5b581e1 100644
--- a/overlays/base/base-distrib.fuegoclass
+++ b/overlays/base/base-distrib.fuegoclass
@@ -10,7 +10,7 @@ function ov_rootfs_reboot() {
 }
 
 function ov_rootfs_state() {
-    cmd "echo; uptime; echo; free; echo; df -h; echo; mount; echo; ps |grep -Fv '  ['; echo; cat /proc/interrupts; echo" || abort_job "Error while  ROOTFS_STATE command execution on target"
+    cmd "echo; uptime; echo; free; echo; df -h; echo; mount; echo; ps |grep -Fv \"  [\"; echo; cat /proc/interrupts; echo" || abort_job "Error executing rootfs_status operation on target"
 }
 
 function ov_logger() {
diff --git a/overlays/base/base-params.fuegoclass b/overlays/base/base-params.fuegoclass
index a33d876..4e429ac 100644
--- a/overlays/base/base-params.fuegoclass
+++ b/overlays/base/base-params.fuegoclass
@@ -7,6 +7,16 @@ PATH="/usr/local/bin:$PATH"
 SSH_ARGS="-o ServerAliveInterval=30 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=error -o ConnectTimeout=30 -p $SSH_PORT $LOGIN@"
 SCP_ARGS="-o ServerAliveInterval=30 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=error -o ConnectTimeout=30 -P $SSH_PORT"
 TTC="ttc"
-SERCP="run_python_quiet /usr/local/bin/sercp -T $IO_TIME_SERIAL -b $BAUD -r"
-SERSH="run_python_quiet /usr/local/bin/sersh -T $IO_TIME_SERIAL -b $BAUD $SERIAL "
+#SERCP="run_python_quiet /usr/local/bin/sercp -B -T $IO_TIME_SERIAL -b $BAUD -r"
+SERCP="run_python_quiet /usr/local/bin/sercp -B -b $BAUD -r"
+#SERSH="run_python_quiet /usr/local/bin/sersh -T $IO_TIME_SERIAL -b $BAUD $SERIAL "
+SERSH="run_python_quiet /usr/local/bin/sersh -b $BAUD $SERIAL "
 SERLOGIN="run_python_quiet /usr/local/bin/serlogin -e 30 -b $BAUD -d $SERIAL "
+
+# ssh2serial stuff
+S2S_SSH_ARGS="-o ServerAliveInterval=30 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=error -o ConnectTimeout=30 -p $SSH_PORT $S2S_LOGIN@"
+S2S_SCP_ARGS="-o ServerAliveInterval=30 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=error -o ConnectTimeout=30 -P $SSH_PORT"
+
+S2S_SERCP="python /usr/local/bin/sercp -B -b $BAUD -r"
+S2S_SERSH="python /usr/local/bin/sersh -b $BAUD $SERIAL "
+S2S_SERLOGIN="python /usr/local/bin/serlogin -e 30 -b $BAUD -d $SERIAL "
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* Re: [Fuego] Executing test on slave machine connected to target board via serial port
  2019-02-13  3:02 ` Tim.Bird
@ 2019-02-13 13:08   ` dhinakar k
  2019-02-13 18:34     ` Tim.Bird
       [not found]     ` <CGME20190213183747epcas4p4959509342dd00b5b5a01cb59c5bee5e5@epcms5p2>
       [not found]   ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p8>
  1 sibling, 2 replies; 41+ messages in thread
From: dhinakar k @ 2019-02-13 13:08 UTC (permalink / raw)
  To: Tim.Bird; +Cc: fuego

[-- Attachment #1: Type: text/plain, Size: 11726 bytes --]

Hi Tim,

Thanks for the draft release.
I cloned fuego next branch from bitbucket but couldn't find '[PATCH]
transport: add ssh2serial transport'
Can you please confirm where it is located?
Regards,
Dhinakar

On Wed, 13 Feb 2019, 8:33 am <Tim.Bird@sony.com wrote:

>
>
> > -----Original Message-----
> > From: dhinakar k
> >
> > Hi Tim,
> >
> > Thanks for your prompt response.
> > I think your second approach will be very good (SSH pass through to
> serial
> > port) as I don't need to setup any jenkins slave on the PC connected to
> the
> > target PC. Also since the PCs are on LAN I can provide SSH connectivity
> to
> > slave PCs.
> >
> > I am very much interested in this -> 'Let me know what you think of
> this, and
> > maybe I can cobble together a proof of concept for you to try out.' Iam
> > eagerly waiting for it :)
>
> OK - I have a draft system that works for some tests.  It is not yet
> finished,
> but it shows a proof-of-concept.
>
> This patch is applied in the 'next' branch on the bitbucket fuegotest
> fuego-core
> repository.
>
> It took a while to debug this far.  You have to add some variables to the
> board file on the main host, to take into account the proxy host.  Also,
> you need to have serio, serlogin, sersh, and sercp in /usr/local/bin
> and python on the PATH on the proxy host,  and you must be able
> to access the proxy host from the main host via ssh.
>
> Please try it out and let me know what you think.
>
> Here's the patch...
> Subject: [PATCH] transport: add ssh2serial transport
>
> This transport allows doing chained transport operations through a
> proxy host to which a board is connected via serial port.
>
> The following board variables are used:
>  IPADDR = proxy host IP address
>  SSH_KEY = optional SSH key for proxy host
>  S2S_LOGIN = proxy host login account
>  S2S_PASSWORD = proxy host password
>  TRANSPORT = is set to "ssh2serial"
>  LOGIN = board login account
>  PASSWORD = board password
>  SERIAL = device node on proxy host for serial port connected to board
>  BAUD = baud rate for serial connection to board
>
> As of this writing, Functional.hello_world works.  There are known
> issues with other tests (with get and put of weird options).  But this
> is a good start.
>
> Signed-off-by: Tim Bird <tim.bird@sony.com>
> ---
>  overlays/base/base-board.fuegoclass   | 121
> +++++++++++++++++++++++++++++++---
>  overlays/base/base-distrib.fuegoclass |   2 +-
>  overlays/base/base-params.fuegoclass  |  14 +++-
>  3 files changed, 124 insertions(+), 13 deletions(-)
>
> diff --git a/overlays/base/base-board.fuegoclass
> b/overlays/base/base-board.fuegoclass
> index 7bb1cf6..ae35464 100644
> --- a/overlays/base/base-board.fuegoclass
> +++ b/overlays/base/base-board.fuegoclass
> @@ -28,6 +28,7 @@ function ov_transport_connect () {
>        return 0
>        ;;
>      ssh|ttc)
> +      export SSHPASS=$PASSWORD
>        retries=1
>        while [ $retries -le $max_retries ] ; do
>          ov_transport_cmd "true"
> @@ -40,6 +41,7 @@ function ov_transport_connect () {
>        return 1
>        ;;
>      serial)
> +      assert_define SERIAL
>        retries=1
>        while [ $retries -le $max_retries ] ; do
>          # use serlogin for logging in to the target board
> @@ -59,22 +61,45 @@ function ov_transport_connect () {
>      lava)
>        # put LAVA connect here
>        ;;
> +    ssh2serial)
> +      export SSHPASS=$S2S_PASSWORD
> +
> +      # make sure required variables are present
> +      assert_define IPADDR
> +      assert_define SERIAL
> +      assert_define S2S_LOGIN
> +
> +      retries=1
> +      while [ $retries -le $max_retries ] ; do
> +        if [ -n ${PASSWORD} ] ; then
> +          sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "$S2S_SERLOGIN -P
> \"${PASSWORD}\" $LOGIN"
> +        else
> +          sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "$S2S_SERLOGIN $LOGIN"
> +        fi
> +        if [ $? -eq 0 ] ; then
> +          return 0
> +        fi
> +        sleep 1
> +        retries=$(( $retries + 1 ))
> +      done
> +      return 1
> +      ;;
>      *)
> -     abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT}"
> +     abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT} in
> ov_transport_connect"
>       ;;
>    esac
>  }
>
>  function ov_transport_disconnect () {
>    case "$TRANSPORT" in
> -  ssh|ttc|local|serial)
> +  ssh|ttc|local|serial|ssh2serial)
>      return 0
>      ;;
>    lava)
>      # put LAVA disconnect here
>      ;;
>    *)
> -    abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT}"
> +    abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT} in
> ov_transport_disconnect"
>      ;;
>    esac
>  }
> @@ -113,12 +138,49 @@ function ov_transport_get () {
>      # put LAVA get here
>      # could be a recursive call with TRANSPORT=ssh
>      ;;
> +  ssh2serial)
> +    # make a staging area on the proxy host
> +    TRANSFER_DIR="/tmp/transfer-$IPADDR"
> +    ov_s2s_proxy_cmd "mkdir -p $TRANSFER_DIR"
> +
> +    # copy materials from board to proxy host
> +    if startswith $SERIAL "/" ; then
> +        cmds="$S2S_SERCP -d $SERIAL serial:\"$1\" ${TRANSFER_DIR}"
> +    else
> +        cmds="$S2S_SERCP $SERIAL:\"$1\" ${TRANSFER_DIR}"
> +    fi
> +    if [ -n "${SSH_KEY}" ] ; then
> +      ssh -i ${SSH_KEY} ${S2S_SSH_ARGS}${IPADDR} "$cmds"
> +    else
> +      sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "$cmds"
> +    fi
> +
> +    # copy materials from proxy host to here
> +    filename=$(basename $1)
> +    if [ -n "${SSH_KEY}" ] ; then
> +      scp -i ${SSH_KEY} ${S2S_SCP_ARGS} -r "${S2S_LOGIN}@${IPADDR}:${TRANSFER_DIR}/$filename"
> "${*:2}"
> +    else
> +      sshpass -e scp ${S2S_SCP_ARGS} -r "${S2S_LOGIN}@${IPADDR}:${TRANSFER_DIR}/$filename"
> "${*:2}"
> +    fi
> +
> +    # remove materials from proxy host
> +    ov_s2s_proxy_cmd "rm -rf $TRANSFER_DIR"
> +    ;;
>    *)
> -   abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT}"
> +   abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT} in
> ov_transport_get"
>     ;;
>    esac
>  }
>
> +# execute a command on the ssh2serial proxy host
> +function ov_s2s_proxy_cmd () {
> +    if [ -n "${SSH_KEY}" ] ; then
> +      ssh -i ${SSH_KEY} ${S2S_SSH_ARGS}${IPADDR} "$@"
> +    else
> +      sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "$@"
> +    fi
> +}
> +
>  # $1 = local file (source); $2 = remote file (destination)
>  # FIXTHIS - ov_transport_put:  'ttc cp' doesn't support multiple sources
>  # FIXTHIS - ov_transport_put:  'ttc cp' doesn't support recursion (-r
> argument)
> @@ -153,8 +215,40 @@ function ov_transport_put () {
>      # put LAVA put here
>      # could be a recursive call with TRANSPORT=ssh
>      ;;
> +  ssh2serial)
> +    # make a staging area on the proxy host
> +    TRANSFER_DIR="/tmp/transfer-$IPADDR"
> +
> +    # pre-remove dir, just in case a previous test left stuff around
> +    ov_s2s_proxy_cmd "rm -rf $TRANSFER_DIR"
> +    ov_s2s_proxy_cmd "mkdir -p $TRANSFER_DIR"
> +
> +    # copy materials to the proxy host
> +    if [ -n "${SSH_KEY}" ] ; then
> +      scp -i ${SSH_KEY} ${S2S_SCP_ARGS} -r "${@:1:$(($#-1))}" $S2S_LOGIN@
> $IPADDR:"${TRANSFER_DIR}"
> +    else
> +      sshpass -e scp ${S2S_SCP_ARGS} -r "${@:1:$(($#-1))}" $S2S_LOGIN@
> $IPADDR:"${TRANSFER_DIR}"
> +    fi
> +
> +    # copy from proxy host to board
> +    filename=$(basename ${@: 1})
> +    # FIXTHIS - ssh2serial put doesn't work with multiple source files
> +    if startswith $SERIAL "/" ; then
> +        cmds="cd $TRANSFER_DIR ; $S2S_SERCP -d $SERIAL \"${filename}\"
> \"serial:${@: -1}\" ; wait"
> +    else
> +        cmds="cd $TRANSFER_DIR ; $S2S_SERCP \"${filename}\"
> \"${SERIAL}:${@: -1}\" ; wait"
> +    fi
> +    if [ -n "${SSH_KEY}" ] ; then
> +      ssh -i ${SSH_KEY} ${S2S_SSH_ARGS}${IPADDR} "$cmds"
> +    else
> +      sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "$cmds"
> +    fi
> +
> +    # remove materials from proxy host
> +    ov_s2s_proxy_cmd "rm -rf $TRANSFER_DIR"
> +    ;;
>    *)
> -   abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT}"
> +   abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT} in
> ov_transport_put"
>     ;;
>    esac
>  }
> @@ -162,20 +256,20 @@ function ov_transport_put () {
>  # $@ = command and args for remote execution
>  function ov_transport_cmd() {
>    case "$TRANSPORT" in
> -  "ssh")
> +  ssh)
>      if [ -n "${SSH_KEY}" ] ; then
>        ssh -i ${SSH_KEY} ${SSH_ARGS}${DEVICE} "$@"
>      else
>        sshpass -e ssh ${SSH_ARGS}${DEVICE} "$@"
>      fi
>      ;;
> -  "ttc")
> +  ttc)
>      $TTC $TTC_TARGET run "$@"
>      ;;
> -  "local")
> +  local)
>      /bin/sh -c "$@"
>      ;;
> -  "serial")
> +  serial)
>      ${SERSH} "$@"
>      wait
>      ;;
> @@ -183,8 +277,15 @@ function ov_transport_cmd() {
>      # put LAVA cmd here
>      # could be a recursive call with TRANSPORT=ssh
>      ;;
> +  ssh2serial)
> +    if [ -n "${SSH_KEY}" ] ; then
> +      ssh -i ${SSH_KEY} ${S2S_SSH_ARGS}${IPADDR} "${S2S_SERSH} '$@'"
> +    else
> +      sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "${S2S_SERSH} '$@'"
> +    fi
> +    ;;
>    *)
> -   abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT}"
> +   abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT} in
> ov_transport_cmd"
>     ;;
>    esac
>  }
> diff --git a/overlays/base/base-distrib.fuegoclass
> b/overlays/base/base-distrib.fuegoclass
> index 62dd534..5b581e1 100644
> --- a/overlays/base/base-distrib.fuegoclass
> +++ b/overlays/base/base-distrib.fuegoclass
> @@ -10,7 +10,7 @@ function ov_rootfs_reboot() {
>  }
>
>  function ov_rootfs_state() {
> -    cmd "echo; uptime; echo; free; echo; df -h; echo; mount; echo; ps
> |grep -Fv '  ['; echo; cat /proc/interrupts; echo" || abort_job "Error
> while  ROOTFS_STATE command execution on target"
> +    cmd "echo; uptime; echo; free; echo; df -h; echo; mount; echo; ps
> |grep -Fv \"  [\"; echo; cat /proc/interrupts; echo" || abort_job "Error
> executing rootfs_status operation on target"
>  }
>
>  function ov_logger() {
> diff --git a/overlays/base/base-params.fuegoclass
> b/overlays/base/base-params.fuegoclass
> index a33d876..4e429ac 100644
> --- a/overlays/base/base-params.fuegoclass
> +++ b/overlays/base/base-params.fuegoclass
> @@ -7,6 +7,16 @@ PATH="/usr/local/bin:$PATH"
>  SSH_ARGS="-o ServerAliveInterval=30 -o StrictHostKeyChecking=no -o
> UserKnownHostsFile=/dev/null -o LogLevel=error -o ConnectTimeout=30 -p
> $SSH_PORT $LOGIN@"
>  SCP_ARGS="-o ServerAliveInterval=30 -o StrictHostKeyChecking=no -o
> UserKnownHostsFile=/dev/null -o LogLevel=error -o ConnectTimeout=30 -P
> $SSH_PORT"
>  TTC="ttc"
> -SERCP="run_python_quiet /usr/local/bin/sercp -T $IO_TIME_SERIAL -b $BAUD
> -r"
> -SERSH="run_python_quiet /usr/local/bin/sersh -T $IO_TIME_SERIAL -b $BAUD
> $SERIAL "
> +#SERCP="run_python_quiet /usr/local/bin/sercp -B -T $IO_TIME_SERIAL -b
> $BAUD -r"
> +SERCP="run_python_quiet /usr/local/bin/sercp -B -b $BAUD -r"
> +#SERSH="run_python_quiet /usr/local/bin/sersh -T $IO_TIME_SERIAL -b $BAUD
> $SERIAL "
> +SERSH="run_python_quiet /usr/local/bin/sersh -b $BAUD $SERIAL "
>  SERLOGIN="run_python_quiet /usr/local/bin/serlogin -e 30 -b $BAUD -d
> $SERIAL "
> +
> +# ssh2serial stuff
> +S2S_SSH_ARGS="-o ServerAliveInterval=30 -o StrictHostKeyChecking=no -o
> UserKnownHostsFile=/dev/null -o LogLevel=error -o ConnectTimeout=30 -p
> $SSH_PORT $S2S_LOGIN@"
> +S2S_SCP_ARGS="-o ServerAliveInterval=30 -o StrictHostKeyChecking=no -o
> UserKnownHostsFile=/dev/null -o LogLevel=error -o ConnectTimeout=30 -P
> $SSH_PORT"
> +
> +S2S_SERCP="python /usr/local/bin/sercp -B -b $BAUD -r"
> +S2S_SERSH="python /usr/local/bin/sersh -b $BAUD $SERIAL "
> +S2S_SERLOGIN="python /usr/local/bin/serlogin -e 30 -b $BAUD -d $SERIAL "
> --
> 2.1.4
>
>

[-- Attachment #2: Type: text/html, Size: 14653 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Executing test on slave machine connected to target board via serial port
  2019-02-13 13:08   ` dhinakar k
@ 2019-02-13 18:34     ` Tim.Bird
       [not found]     ` <CGME20190213183747epcas4p4959509342dd00b5b5a01cb59c5bee5e5@epcms5p2>
  1 sibling, 0 replies; 41+ messages in thread
From: Tim.Bird @ 2019-02-13 18:34 UTC (permalink / raw)
  To: dhinakar.k; +Cc: fuego



> -----Original Message-----
> From: dhinakar k 
> 
> Hi Tim,
> 
> Thanks for the draft release.
> I cloned fuego next branch from bitbucket but couldn't find '[PATCH]
> transport: add ssh2serial transport'
> Can you please confirm where it is located?

You may be looking at the 'tbird20d' repositories.  Those are deprecated now.

Please see https://bitbucket.org/fuegotest/fuego-core/src/master/
or clone it with:
'git clone -b next https://fuegotest@bitbucket.org/fuegotest/fuego-core.git'

Here's the commit:
https://bitbucket.org/fuegotest/fuego-core/commits/64eb7fa7848dacffebf5be54bfd7435f9faca046

 -- Tim


> On Wed, 13 Feb 2019, 8:33 am <Tim.Bird@sony.com
> <mailto:Tim.Bird@sony.com>  wrote:
> 
> 
> 
> 
> 	> -----Original Message-----
> 	> From: dhinakar k
> 	>
> 	> Hi Tim,
> 	>
> 	> Thanks for your prompt response.
> 	> I think your second approach will be very good (SSH pass through to
> serial
> 	> port) as I don't need to setup any jenkins slave on the PC
> connected to the
> 	> target PC. Also since the PCs are on LAN I can provide SSH
> connectivity to
> 	> slave PCs.
> 	>
> 	> I am very much interested in this -> 'Let me know what you think of
> this, and
> 	> maybe I can cobble together a proof of concept for you to try out.'
> Iam
> 	> eagerly waiting for it :)
> 
> 	OK - I have a draft system that works for some tests.  It is not yet
> finished,
> 	but it shows a proof-of-concept.
> 
> 	This patch is applied in the 'next' branch on the bitbucket fuegotest
> fuego-core
> 	repository.
> 
> 	It took a while to debug this far.  You have to add some variables to
> the
> 	board file on the main host, to take into account the proxy host.
> Also,
> 	you need to have serio, serlogin, sersh, and sercp in /usr/local/bin
> 	and python on the PATH on the proxy host,  and you must be able
> 	to access the proxy host from the main host via ssh.
> 
> 	Please try it out and let me know what you think.
> 
> 	Here's the patch...
> 	Subject: [PATCH] transport: add ssh2serial transport
> 
> 	This transport allows doing chained transport operations through a
> 	proxy host to which a board is connected via serial port.
> 
> 	The following board variables are used:
> 	 IPADDR = proxy host IP address
> 	 SSH_KEY = optional SSH key for proxy host
> 	 S2S_LOGIN = proxy host login account
> 	 S2S_PASSWORD = proxy host password
> 	 TRANSPORT = is set to "ssh2serial"
> 	 LOGIN = board login account
> 	 PASSWORD = board password
> 	 SERIAL = device node on proxy host for serial port connected to
> board
> 	 BAUD = baud rate for serial connection to board
> 
> 	As of this writing, Functional.hello_world works.  There are known
> 	issues with other tests (with get and put of weird options).  But this
> 	is a good start.
> 
> 	Signed-off-by: Tim Bird <tim.bird@sony.com
> <mailto:tim.bird@sony.com> >
> 	---
> 	 overlays/base/base-board.fuegoclass   | 121
> +++++++++++++++++++++++++++++++---
> 	 overlays/base/base-distrib.fuegoclass |   2 +-
> 	 overlays/base/base-params.fuegoclass  |  14 +++-
> 	 3 files changed, 124 insertions(+), 13 deletions(-)
> 
> 	diff --git a/overlays/base/base-board.fuegoclass
> b/overlays/base/base-board.fuegoclass
> 	index 7bb1cf6..ae35464 100644
> 	--- a/overlays/base/base-board.fuegoclass
> 	+++ b/overlays/base/base-board.fuegoclass
> 	@@ -28,6 +28,7 @@ function ov_transport_connect () {
> 	       return 0
> 	       ;;
> 	     ssh|ttc)
> 	+      export SSHPASS=$PASSWORD
> 	       retries=1
> 	       while [ $retries -le $max_retries ] ; do
> 	         ov_transport_cmd "true"
> 	@@ -40,6 +41,7 @@ function ov_transport_connect () {
> 	       return 1
> 	       ;;
> 	     serial)
> 	+      assert_define SERIAL
> 	       retries=1
> 	       while [ $retries -le $max_retries ] ; do
> 	         # use serlogin for logging in to the target board
> 	@@ -59,22 +61,45 @@ function ov_transport_connect () {
> 	     lava)
> 	       # put LAVA connect here
> 	       ;;
> 	+    ssh2serial)
> 	+      export SSHPASS=$S2S_PASSWORD
> 	+
> 	+      # make sure required variables are present
> 	+      assert_define IPADDR
> 	+      assert_define SERIAL
> 	+      assert_define S2S_LOGIN
> 	+
> 	+      retries=1
> 	+      while [ $retries -le $max_retries ] ; do
> 	+        if [ -n ${PASSWORD} ] ; then
> 	+          sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "$S2S_SERLOGIN -
> P \"${PASSWORD}\" $LOGIN"
> 	+        else
> 	+          sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "$S2S_SERLOGIN
> $LOGIN"
> 	+        fi
> 	+        if [ $? -eq 0 ] ; then
> 	+          return 0
> 	+        fi
> 	+        sleep 1
> 	+        retries=$(( $retries + 1 ))
> 	+      done
> 	+      return 1
> 	+      ;;
> 	     *)
> 	-     abort_job "Error reason: unsupported TRANSPORT
> ${TRANSPORT}"
> 	+     abort_job "Error reason: unsupported TRANSPORT
> ${TRANSPORT} in ov_transport_connect"
> 	      ;;
> 	   esac
> 	 }
> 
> 	 function ov_transport_disconnect () {
> 	   case "$TRANSPORT" in
> 	-  ssh|ttc|local|serial)
> 	+  ssh|ttc|local|serial|ssh2serial)
> 	     return 0
> 	     ;;
> 	   lava)
> 	     # put LAVA disconnect here
> 	     ;;
> 	   *)
> 	-    abort_job "Error reason: unsupported TRANSPORT
> ${TRANSPORT}"
> 	+    abort_job "Error reason: unsupported TRANSPORT
> ${TRANSPORT} in ov_transport_disconnect"
> 	     ;;
> 	   esac
> 	 }
> 	@@ -113,12 +138,49 @@ function ov_transport_get () {
> 	     # put LAVA get here
> 	     # could be a recursive call with TRANSPORT=ssh
> 	     ;;
> 	+  ssh2serial)
> 	+    # make a staging area on the proxy host
> 	+    TRANSFER_DIR="/tmp/transfer-$IPADDR"
> 	+    ov_s2s_proxy_cmd "mkdir -p $TRANSFER_DIR"
> 	+
> 	+    # copy materials from board to proxy host
> 	+    if startswith $SERIAL "/" ; then
> 	+        cmds="$S2S_SERCP -d $SERIAL serial:\"$1\" ${TRANSFER_DIR}"
> 	+    else
> 	+        cmds="$S2S_SERCP $SERIAL:\"$1\" ${TRANSFER_DIR}"
> 	+    fi
> 	+    if [ -n "${SSH_KEY}" ] ; then
> 	+      ssh -i ${SSH_KEY} ${S2S_SSH_ARGS}${IPADDR} "$cmds"
> 	+    else
> 	+      sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "$cmds"
> 	+    fi
> 	+
> 	+    # copy materials from proxy host to here
> 	+    filename=$(basename $1)
> 	+    if [ -n "${SSH_KEY}" ] ; then
> 	+      scp -i ${SSH_KEY} ${S2S_SCP_ARGS} -r
> "${S2S_LOGIN}@${IPADDR}:${TRANSFER_DIR}/$filename" "${*:2}"
> 	+    else
> 	+      sshpass -e scp ${S2S_SCP_ARGS} -r
> "${S2S_LOGIN}@${IPADDR}:${TRANSFER_DIR}/$filename" "${*:2}"
> 	+    fi
> 	+
> 	+    # remove materials from proxy host
> 	+    ov_s2s_proxy_cmd "rm -rf $TRANSFER_DIR"
> 	+    ;;
> 	   *)
> 	-   abort_job "Error reason: unsupported TRANSPORT
> ${TRANSPORT}"
> 	+   abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT}
> in ov_transport_get"
> 	    ;;
> 	   esac
> 	 }
> 
> 	+# execute a command on the ssh2serial proxy host
> 	+function ov_s2s_proxy_cmd () {
> 	+    if [ -n "${SSH_KEY}" ] ; then
> 	+      ssh -i ${SSH_KEY} ${S2S_SSH_ARGS}${IPADDR} "$@"
> 	+    else
> 	+      sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "$@"
> 	+    fi
> 	+}
> 	+
> 	 # $1 = local file (source); $2 = remote file (destination)
> 	 # FIXTHIS - ov_transport_put:  'ttc cp' doesn't support multiple
> sources
> 	 # FIXTHIS - ov_transport_put:  'ttc cp' doesn't support recursion (-r
> argument)
> 	@@ -153,8 +215,40 @@ function ov_transport_put () {
> 	     # put LAVA put here
> 	     # could be a recursive call with TRANSPORT=ssh
> 	     ;;
> 	+  ssh2serial)
> 	+    # make a staging area on the proxy host
> 	+    TRANSFER_DIR="/tmp/transfer-$IPADDR"
> 	+
> 	+    # pre-remove dir, just in case a previous test left stuff around
> 	+    ov_s2s_proxy_cmd "rm -rf $TRANSFER_DIR"
> 	+    ov_s2s_proxy_cmd "mkdir -p $TRANSFER_DIR"
> 	+
> 	+    # copy materials to the proxy host
> 	+    if [ -n "${SSH_KEY}" ] ; then
> 	+      scp -i ${SSH_KEY} ${S2S_SCP_ARGS} -r "${@:1:$(($#-1))}"
> $S2S_LOGIN@$IPADDR:"${TRANSFER_DIR}"
> 	+    else
> 	+      sshpass -e scp ${S2S_SCP_ARGS} -r "${@:1:$(($#-1))}"
> $S2S_LOGIN@$IPADDR:"${TRANSFER_DIR}"
> 	+    fi
> 	+
> 	+    # copy from proxy host to board
> 	+    filename=$(basename ${@: 1})
> 	+    # FIXTHIS - ssh2serial put doesn't work with multiple source files
> 	+    if startswith $SERIAL "/" ; then
> 	+        cmds="cd $TRANSFER_DIR ; $S2S_SERCP -d $SERIAL
> \"${filename}\" \"serial:${@: -1}\" ; wait"
> 	+    else
> 	+        cmds="cd $TRANSFER_DIR ; $S2S_SERCP \"${filename}\"
> \"${SERIAL}:${@: -1}\" ; wait"
> 	+    fi
> 	+    if [ -n "${SSH_KEY}" ] ; then
> 	+      ssh -i ${SSH_KEY} ${S2S_SSH_ARGS}${IPADDR} "$cmds"
> 	+    else
> 	+      sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "$cmds"
> 	+    fi
> 	+
> 	+    # remove materials from proxy host
> 	+    ov_s2s_proxy_cmd "rm -rf $TRANSFER_DIR"
> 	+    ;;
> 	   *)
> 	-   abort_job "Error reason: unsupported TRANSPORT
> ${TRANSPORT}"
> 	+   abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT}
> in ov_transport_put"
> 	    ;;
> 	   esac
> 	 }
> 	@@ -162,20 +256,20 @@ function ov_transport_put () {
> 	 # $@ = command and args for remote execution
> 	 function ov_transport_cmd() {
> 	   case "$TRANSPORT" in
> 	-  "ssh")
> 	+  ssh)
> 	     if [ -n "${SSH_KEY}" ] ; then
> 	       ssh -i ${SSH_KEY} ${SSH_ARGS}${DEVICE} "$@"
> 	     else
> 	       sshpass -e ssh ${SSH_ARGS}${DEVICE} "$@"
> 	     fi
> 	     ;;
> 	-  "ttc")
> 	+  ttc)
> 	     $TTC $TTC_TARGET run "$@"
> 	     ;;
> 	-  "local")
> 	+  local)
> 	     /bin/sh -c "$@"
> 	     ;;
> 	-  "serial")
> 	+  serial)
> 	     ${SERSH} "$@"
> 	     wait
> 	     ;;
> 	@@ -183,8 +277,15 @@ function ov_transport_cmd() {
> 	     # put LAVA cmd here
> 	     # could be a recursive call with TRANSPORT=ssh
> 	     ;;
> 	+  ssh2serial)
> 	+    if [ -n "${SSH_KEY}" ] ; then
> 	+      ssh -i ${SSH_KEY} ${S2S_SSH_ARGS}${IPADDR} "${S2S_SERSH}
> '$@'"
> 	+    else
> 	+      sshpass -e ssh ${S2S_SSH_ARGS}${IPADDR} "${S2S_SERSH} '$@'"
> 	+    fi
> 	+    ;;
> 	   *)
> 	-   abort_job "Error reason: unsupported TRANSPORT
> ${TRANSPORT}"
> 	+   abort_job "Error reason: unsupported TRANSPORT ${TRANSPORT}
> in ov_transport_cmd"
> 	    ;;
> 	   esac
> 	 }
> 	diff --git a/overlays/base/base-distrib.fuegoclass
> b/overlays/base/base-distrib.fuegoclass
> 	index 62dd534..5b581e1 100644
> 	--- a/overlays/base/base-distrib.fuegoclass
> 	+++ b/overlays/base/base-distrib.fuegoclass
> 	@@ -10,7 +10,7 @@ function ov_rootfs_reboot() {
> 	 }
> 
> 	 function ov_rootfs_state() {
> 	-    cmd "echo; uptime; echo; free; echo; df -h; echo; mount; echo; ps
> |grep -Fv '  ['; echo; cat /proc/interrupts; echo" || abort_job "Error while
> ROOTFS_STATE command execution on target"
> 	+    cmd "echo; uptime; echo; free; echo; df -h; echo; mount; echo; ps
> |grep -Fv \"  [\"; echo; cat /proc/interrupts; echo" || abort_job "Error
> executing rootfs_status operation on target"
> 	 }
> 
> 	 function ov_logger() {
> 	diff --git a/overlays/base/base-params.fuegoclass
> b/overlays/base/base-params.fuegoclass
> 	index a33d876..4e429ac 100644
> 	--- a/overlays/base/base-params.fuegoclass
> 	+++ b/overlays/base/base-params.fuegoclass
> 	@@ -7,6 +7,16 @@ PATH="/usr/local/bin:$PATH"
> 	 SSH_ARGS="-o ServerAliveInterval=30 -o StrictHostKeyChecking=no
> -o UserKnownHostsFile=/dev/null -o LogLevel=error -o ConnectTimeout=30 -
> p $SSH_PORT $LOGIN@"
> 	 SCP_ARGS="-o ServerAliveInterval=30 -o StrictHostKeyChecking=no
> -o UserKnownHostsFile=/dev/null -o LogLevel=error -o ConnectTimeout=30 -
> P $SSH_PORT"
> 	 TTC="ttc"
> 	-SERCP="run_python_quiet /usr/local/bin/sercp -T $IO_TIME_SERIAL
> -b $BAUD -r"
> 	-SERSH="run_python_quiet /usr/local/bin/sersh -T $IO_TIME_SERIAL
> -b $BAUD $SERIAL "
> 	+#SERCP="run_python_quiet /usr/local/bin/sercp -B -T
> $IO_TIME_SERIAL -b $BAUD -r"
> 	+SERCP="run_python_quiet /usr/local/bin/sercp -B -b $BAUD -r"
> 	+#SERSH="run_python_quiet /usr/local/bin/sersh -T
> $IO_TIME_SERIAL -b $BAUD $SERIAL "
> 	+SERSH="run_python_quiet /usr/local/bin/sersh -b $BAUD $SERIAL "
> 	 SERLOGIN="run_python_quiet /usr/local/bin/serlogin -e 30 -b
> $BAUD -d $SERIAL "
> 	+
> 	+# ssh2serial stuff
> 	+S2S_SSH_ARGS="-o ServerAliveInterval=30 -o
> StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o
> LogLevel=error -o ConnectTimeout=30 -p $SSH_PORT $S2S_LOGIN@"
> 	+S2S_SCP_ARGS="-o ServerAliveInterval=30 -o
> StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o
> LogLevel=error -o ConnectTimeout=30 -P $SSH_PORT"
> 	+
> 	+S2S_SERCP="python /usr/local/bin/sercp -B -b $BAUD -r"
> 	+S2S_SERSH="python /usr/local/bin/sersh -b $BAUD $SERIAL "
> 	+S2S_SERLOGIN="python /usr/local/bin/serlogin -e 30 -b $BAUD -d
> $SERIAL "
> 	--
> 	2.1.4
> 
> 


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Executing test on slave machine connected to target board via serial port
       [not found]     ` <CGME20190213183747epcas4p4959509342dd00b5b5a01cb59c5bee5e5@epcms5p2>
@ 2019-02-14  5:01       ` Dhinakar Kalyanasundaram
  0 siblings, 0 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-02-14  5:01 UTC (permalink / raw)
  To: Tim.Bird; +Cc: fuego, dhinakar.k

[-- Attachment #1: Type: text/html, Size: 16402 bytes --]

[-- Attachment #2: Type: image/gif, Size: 13402 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
       [not found]   ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p8>
@ 2019-02-19 13:59     ` Dhinakar Kalyanasundaram
  2019-02-20  7:02       ` daniel.sangorrin
                         ` (2 more replies)
  2019-02-20 14:22     ` Dhinakar Kalyanasundaram
                       ` (3 subsequent siblings)
  4 siblings, 3 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-02-19 13:59 UTC (permalink / raw)
  To: fuego; +Cc: dhinakar.k

[-- Attachment #1: Type: text/html, Size: 2759 bytes --]

[-- Attachment #2: 201602111742151_N3WZA6X7.png --]
[-- Type: image/png, Size: 33527 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
  2019-02-19 13:59     ` [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082) Dhinakar Kalyanasundaram
@ 2019-02-20  7:02       ` daniel.sangorrin
       [not found]       ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p5>
       [not found]       ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p7>
  2 siblings, 0 replies; 41+ messages in thread
From: daniel.sangorrin @ 2019-02-20  7:02 UTC (permalink / raw)
  To: dhinakar.k, fuego; +Cc: dhinakar.k

Hello Dhinakar,

> From: fuego-bounces@lists.linuxfoundation.org <fuego-bounces@lists.linuxfoundation.org> On Behalf Of
> Dhinakar Kalyanasundaram
> Sent: Tuesday, February 19, 2019 10:59 PM
 > Dear Fuego Users,
> 
> 
> 
> I want to run multiple instances of fuego (in one powerful server) to cater to different projects (which need to be kept
> separate for security).
> 
> In this regard I thought I can assign a unique port for each instance, for e.g. 8080 -> Project1, 8081 -> Project2 etc.
> 
> If there is any other better way to achieve the objective please let me know.
> 
> I modified all occurrences of port 8080 to 8082 under fuego (Dockerfile, ftc, common.sh etc.) & fuego-core
> directories in my existing installation.
> 
> Recreated the container -> ./fuego-host-scripts/docker-create-usb-privileged-container.sh
> containerbackup-15thfeb2019 container-19thfeb2019
> 
> And Started it -> ./fuego-host-scripts/docker-start-container.sh container-19thfeb2019
> 
> But it is still running on port 8080 only.
> 
> The 'containerbackup-15thfeb2019' image that I used to create the new container was running on port 8080, could
> it be because of it?
> 
> I thought if I make changes in 'fuego', 'fuego-core' directories and recreate the container & start, it should listen on
> port 8082.
> 
> Should I create a new image after the modification and then create a container and start?
> 
> Can someone help in this regard?

I just sent a few patches to support the creation of Fuego images using separate TCP ports.
They are on the "next" branch of my repository (https://bitbucket.org/nirrognas/) for now.
Could you give them a try?

Thanks,
Daniel


> 
> Thanks.
> 
> 
> 
> Regards,
> 
> Dhinakar
> 
> 
> 
> 
> 
> 
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMjE5
> MTM1OTE1ZXBjbXM1cDg4N2Y5ZDQxNjA5N2U2NzIxODNkYWYwN2E5OGU3MzQ4NyZyZWNpcGllbnRBZGRyZXNzP
> WZ1ZWdvQGxpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmc_>

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
       [not found]       ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p7>
@ 2019-02-20 13:41         ` Dhinakar Kalyanasundaram
  2019-02-21  0:28           ` daniel.sangorrin
  2019-02-22  5:57         ` Dhinakar Kalyanasundaram
  2019-02-27 13:41         ` Dhinakar Kalyanasundaram
  2 siblings, 1 reply; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-02-20 13:41 UTC (permalink / raw)
  To: daniel.sangorrin; +Cc: fuego, dhinakar.k

[-- Attachment #1: Type: text/html, Size: 4982 bytes --]

[-- Attachment #2: 201602111742151_N3WZA6X7.png --]
[-- Type: image/png, Size: 33527 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
       [not found]   ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p8>
  2019-02-19 13:59     ` [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082) Dhinakar Kalyanasundaram
@ 2019-02-20 14:22     ` Dhinakar Kalyanasundaram
  2019-02-21  0:31       ` daniel.sangorrin
       [not found]       ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p2>
  2019-02-22  6:02     ` [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082) Dhinakar Kalyanasundaram
                       ` (2 subsequent siblings)
  4 siblings, 2 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-02-20 14:22 UTC (permalink / raw)
  To: daniel.sangorrin; +Cc: fuego, dhinakar.k

[-- Attachment #1: Type: text/html, Size: 12967 bytes --]

[-- Attachment #2: 201602111742151_N3WZA6X7.png --]
[-- Type: image/png, Size: 33527 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
  2019-02-20 13:41         ` [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082) Dhinakar Kalyanasundaram
@ 2019-02-21  0:28           ` daniel.sangorrin
  0 siblings, 0 replies; 41+ messages in thread
From: daniel.sangorrin @ 2019-02-21  0:28 UTC (permalink / raw)
  To: dhinakar.k; +Cc: fuego, dhinakar.k

Hello Dhinakar,

> -----Original Message-----
> From: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>
> Sent: Wednesday, February 20, 2019 10:41 PM
> To: sangorrin daniel(サンゴリン ダニエル ○SWC□OST) <daniel.sangorrin@toshiba.co.jp>
> Cc: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>; fuego@lists.linuxfoundation.org;
> dhinakar.k@gmail.com
> Subject: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> 
> Hi Daniel,
> 
> 
> 
> Thanks for the response and the patch 'port: allow users to choose a different port for jenkins'.
> 
> The usage is I need to clone fuego, and while executing ./install.sh I need to provide 'port' number (as shown
> below)
> 
> # install.sh [--help] [--priv] [<image_name>] [<port>]
> 
> This will remove the hard-coded port number (default: 8080) in files such as ftc, common.sh etc.
> 
> So port needs to be fixed while creating the image (via install.sh), once the image is created port cannot be
> changed?

Yes, that is correct.
It would be nicer if we used "docker run" and pass the port number as an environment variable but we are using "docker create" for some other reasons.

> Is it possible to use an image and create containers each with different port number?
> 

The closest thing you can do is this:
- Override JENKINS_PORT environment variable in docker-start-container.sh:
    --env JENKINS_PORT="8082"
- Create the container
   host$ ./fuego-host-scripts/docker-start-container.sh fuego-container-8082
- Change Jenkins configuration manually
   docker# sed -i -e "s#8080#8082#g" /etc/default/jenkins

> It will help me avoid the install step and create identical copies of container with only port number differing.

Please, let me know if that satisfy your needs.

Thanks,
Daniel

> 
> 
> 
> Note: I will let you know about your patch in my next email, I am cloning and installing in another instance
> 
> 
> 
> Regards,
> 
> Dhinakar
> 
> 
> 
> 
> 
> --------- Original Message ---------
> 
> Sender : daniel.sangorrin@toshiba.co.jp <daniel.sangorrin@toshiba.co.jp>
> 
> Date : 2019-02-20 12:33 (GMT+5:30)
> 
> Title : RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> 
> 
> 
> Hello Dhinakar,
> 
> > From: fuego-bounces@lists.linuxfoundation.org <fuego-bounces@lists.linuxfoundation.org> On Behalf Of
> > Dhinakar Kalyanasundaram
> > Sent: Tuesday, February 19, 2019 10:59 PM
>  > Dear Fuego Users,
> >
> >
> >
> > I want to run multiple instances of fuego (in one powerful server) to cater to different projects (which need to
> be kept
> > separate for security).
> >
> > In this regard I thought I can assign a unique port for each instance, for e.g. 8080 -> Project1, 8081 ->
> Project2 etc.
> >
> > If there is any other better way to achieve the objective please let me know.
> >
> > I modified all occurrences of port 8080 to 8082 under fuego (Dockerfile, ftc, common.sh etc.) & fuego-core
> > directories in my existing installation.
> >
> > Recreated the container -> ./fuego-host-scripts/docker-create-usb-privileged-container.sh
> > containerbackup-15thfeb2019 container-19thfeb2019
> >
> > And Started it -> ./fuego-host-scripts/docker-start-container.sh container-19thfeb2019
> >
> > But it is still running on port 8080 only.
> >
> > The 'containerbackup-15thfeb2019' image that I used to create the new container was running on port 8080,
> could
> > it be because of it?
> >
> > I thought if I make changes in 'fuego', 'fuego-core' directories and recreate the container & start, it should
> listen on
> > port 8082.
> >
> > Should I create a new image after the modification and then create a container and start?
> >
> > Can someone help in this regard?
> 
> I just sent a few patches to support the creation of Fuego images using separate TCP ports.
> They are on the "next" branch of my repository (https://bitbucket.org/nirrognas/) for now.
> Could you give them a try?
> 
> Thanks,
> Daniel
> 
> 
> >
> > Thanks.
> >
> >
> >
> > Regards,
> >
> > Dhinakar
> >
> >
> >
> >
> >
> >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMj
> E5
> >
> MTM1OTE1ZXBjbXM1cDg4N2Y5ZDQxNjA5N2U2NzIxODNkYWYwN2E5OGU3MzQ4NyZyZWNpcGllbnRBZGRyZ
> XNzP
> > WZ1ZWdvQGxpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmc_>
> 
> 
> 
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMj
> IwMTM0MTI3ZXBjbXM1cDdkZjFjNjNjNWZmYzk5ZGU5MWE5MjllMjcyMGQyYTQxYSZyZWNpcGllbnRBZGRyZXN
> zPWRhbmllbC5zYW5nb3JyaW5AdG9zaGliYS5jby5qcA__>

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
  2019-02-20 14:22     ` Dhinakar Kalyanasundaram
@ 2019-02-21  0:31       ` daniel.sangorrin
       [not found]       ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p2>
  1 sibling, 0 replies; 41+ messages in thread
From: daniel.sangorrin @ 2019-02-21  0:31 UTC (permalink / raw)
  To: dhinakar.k; +Cc: fuego, dhinakar.k

Hello Dhinakar,

Maybe your docker is using previous cached steps.
Could you comment out NO_CACHE from docker-build-image.sh and try again?

Thanks,
Daniel

> -----Original Message-----
> From: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>
> Sent: Wednesday, February 20, 2019 11:23 PM
> To: sangorrin daniel(サンゴリン ダニエル ○SWC□OST) <daniel.sangorrin@toshiba.co.jp>
> Cc: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>; fuego@lists.linuxfoundation.org;
> dhinakar.k@gmail.com
> Subject: RE: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> 
> Hi Daniel,
> 
> 
> 
> Any idea why the below error is throw, I was trying to use port 8082 for fuego in another server. Just did the port
> changes manually (updated ftc, common.sh etc.) and executed install.sh.
> 
> Not sure why it is getting refused.
> 
> 
> 
> Step 46/57 : RUN service jenkins start &&       sleep 30 &&     sudo -u jenkins java -jar
> /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8082/fuego install-plugin /tmp/flot.hpi &&
> sleep 10 &&     service jenkins stop
>  ---> Running in 34f879a820f8
> Starting Jenkins Continuous Integration Server: jenkins.
> java.io.IOException: Failed to connect to http://localhost:8082/fuego/
>         at hudson.cli.CLI.getCliTcpPort(CLI.java:267)
>         at hudson.cli.CLI.<init>(CLI.java:128)
>         at hudson.cli.CLIConnectionFactory.connect(CLIConnectionFactory.java:72)
>         at hudson.cli.CLI._main(CLI.java:473)
>         at hudson.cli.CLI.main(CLI.java:384)
>         Suppressed: java.net.ConnectException: Connection refused (Connection refused)
>                 at java.net.PlainSocketImpl.socketConnect(Native Method)
>                 at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
>                 at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
>                 at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
>                 at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
>                 at java.net.Socket.connect(Socket.java:580)
>                 at java.net.Socket.connect(Socket.java:529)
>                 at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
>                 at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
>                 at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
>                 at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
>                 at sun.net.www.http.HttpClient.New(HttpClient.java:339)
>                 at sun.net.www.http.HttpClient.New(HttpClient.java:357)
>                 at
> sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1062)
>                 at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:998)
>                 at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:916)
>                 at
> sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1157)
>                 at hudson.cli.FullDuplexHttpStream.<init>(FullDuplexHttpStream.java:77)
>                 at hudson.cli.CLI.connectViaHttp(CLI.java:152)
>                 at hudson.cli.CLI.<init>(CLI.java:132)
>                 ... 3 more
> Caused by: java.net.ConnectException: Connection refused (Connection refused)
>         at java.net.PlainSocketImpl.socketConnect(Native Method)
>         at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
>         at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
>         at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
>         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
>         at java.net.Socket.connect(Socket.java:580)
>         at java.net.Socket.connect(Socket.java:529)
>         at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
>         at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
>         at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
>         at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
>         at sun.net.www.http.HttpClient.New(HttpClient.java:339)
>         at sun.net.www.http.HttpClient.New(HttpClient.java:357)
>         at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1062)
>         at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:998)
>         at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:916)
>         at hudson.cli.CLI.getCliTcpPort(CLI.java:265)
>         ... 4 more
> The command '/bin/sh -c service jenkins start &&        sleep 30 &&     sudo -u jenkins java -jar
> /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8082/fuego install-plugin /tmp/flot.hpi &&
> sleep 10 &&     service jenkins stop' returned a non-zero code: 255
> 
> 
> 
> 
> Regards,
> 
> Dhinakar
> 
> 
> 
> 
> 
> --------- Original Message ---------
> 
> Sender : Dhinakar Kalyanasundaram <dhinakar.k@samsung.com> Staff Engineer/FDS SW /SSIR/Samsung
> Electronics
> 
> Date : 2019-02-20 19:11 (GMT+5:30)
> 
> Title : RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> 
> 
> 
> Hi Daniel,
> 
> 
> 
> Thanks for the response and the patch 'port: allow users to choose a different port for jenkins'.
> 
> The usage is I need to clone fuego, and while executing ./install.sh I need to provide 'port' number (as shown
> below)
> 
> # install.sh [--help] [--priv] [<image_name>] [<port>]
> 
> This will remove the hard-coded port number (default: 8080) in files such as ftc, common.sh etc.
> 
> So port needs to be fixed while creating the image (via install.sh), once the image is created port cannot be
> changed?
> 
> Is it possible to use an image and create containers each with different port number?
> 
> It will help me avoid the install step and create identical copies of container with only port number differing.
> 
> 
> 
> Note: I will let you know about your patch in my next email, I am cloning and installing in another instance
> 
> 
> 
> Regards,
> 
> Dhinakar
> 
> 
> 
> 
> 
> --------- Original Message ---------
> 
> Sender : daniel.sangorrin@toshiba.co.jp <daniel.sangorrin@toshiba.co.jp>
> 
> Date : 2019-02-20 12:33 (GMT+5:30)
> 
> Title : RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> 
> 
> 
> Hello Dhinakar,
> 
> > From: fuego-bounces@lists.linuxfoundation.org <fuego-bounces@lists.linuxfoundation.org> On Behalf Of
> > Dhinakar Kalyanasundaram
> > Sent: Tuesday, February 19, 2019 10:59 PM
>  > Dear Fuego Users,
> >
> >
> >
> > I want to run multiple instances of fuego (in one powerful server) to cater to different projects (which need to
> be kept
> > separate for security).
> >
> > In this regard I thought I can assign a unique port for each instance, for e.g. 8080 -> Project1, 8081 ->
> Project2 etc.
> >
> > If there is any other better way to achieve the objective please let me know.
> >
> > I modified all occurrences of port 8080 to 8082 under fuego (Dockerfile, ftc, common.sh etc.) & fuego-core
> > directories in my existing installation.
> >
> > Recreated the container -> ./fuego-host-scripts/docker-create-usb-privileged-container.sh
> > containerbackup-15thfeb2019 container-19thfeb2019
> >
> > And Started it -> ./fuego-host-scripts/docker-start-container.sh container-19thfeb2019
> >
> > But it is still running on port 8080 only.
> >
> > The 'containerbackup-15thfeb2019' image that I used to create the new container was running on port 8080,
> could
> > it be because of it?
> >
> > I thought if I make changes in 'fuego', 'fuego-core' directories and recreate the container & start, it should
> listen on
> > port 8082.
> >
> > Should I create a new image after the modification and then create a container and start?
> >
> > Can someone help in this regard?
> 
> I just sent a few patches to support the creation of Fuego images using separate TCP ports.
> They are on the "next" branch of my repository (https://bitbucket.org/nirrognas/) for now.
> Could you give them a try?
> 
> Thanks,
> Daniel
> 
> 
> >
> > Thanks.
> >
> >
> >
> > Regards,
> >
> > Dhinakar
> >
> >
> >
> >
> >
> >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMj
> E5
> >
> MTM1OTE1ZXBjbXM1cDg4N2Y5ZDQxNjA5N2U2NzIxODNkYWYwN2E5OGU3MzQ4NyZyZWNpcGllbnRBZGRyZ
> XNzP
> > WZ1ZWdvQGxpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmc_>
> 
> 
> 
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMj
> IwMTQyMjUyZXBjbXM1cDg4OGQ2YmJhOWI0ZjZjODg2OWE1ZGNmMjdmNDY2MzdiNiZyZWNpcGllbnRBZGRyZ
> XNzPWRhbmllbC5zYW5nb3JyaW5AdG9zaGliYS5jby5qcA__>

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
       [not found]       ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p5>
@ 2019-02-22  4:24         ` Dhinakar Kalyanasundaram
  2019-02-22  4:28           ` daniel.sangorrin
                             ` (2 more replies)
  2019-03-29 15:49         ` Dhinakar Kalyanasundaram
  1 sibling, 3 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-02-22  4:24 UTC (permalink / raw)
  To: daniel.sangorrin; +Cc: fuego

[-- Attachment #1: Type: text/html, Size: 18071 bytes --]

[-- Attachment #2: 201602111742151_N3WZA6X7.png --]
[-- Type: image/png, Size: 33527 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
  2019-02-22  4:24         ` Dhinakar Kalyanasundaram
@ 2019-02-22  4:28           ` daniel.sangorrin
       [not found]           ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p1>
       [not found]           ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p3>
  2 siblings, 0 replies; 41+ messages in thread
From: daniel.sangorrin @ 2019-02-22  4:28 UTC (permalink / raw)
  To: dhinakar.k; +Cc: fuego

> -----Original Message-----
> From: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>
> Sent: Friday, February 22, 2019 1:24 PM
> To: sangorrin daniel(サンゴリン ダニエル ○SWC□OST) <daniel.sangorrin@toshiba.co.jp>
> Cc: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>; fuego@lists.linuxfoundation.org
> Subject: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> 
> Hi Daniel,
> 
> 
> 
> I tried the your patch on the 'next' branch but it seems Jenkins is still running on 8080 port.
> 
> Please check the log of 'install.sh'
> 
> I want to run Jenkins on port 8090 and if I create and start the container after installing the image, it seems to
> be listening on 8080 port.
> 
> In the log also I see that 'Step 24/62 : ARG JENKINS_PORT=8080' even though it says 'Using Port 8090' in the
> beginning.
> 
> Probably 'ENV JENKINS_PORT=$JENKINS_PORT' is not getting assigned properly.
> 
> 
> 
> FYI, cache is already commented in docker-build-image.sh (as shown below),
> 
> #NO_CACHE=--no-cache

Sorry, not comment out. Uncomment it.

Regards,
Daniel





> 
> 
> 
> Regards,
> 
> Dhinakar
> 
> 
> 
> dhinakar@userl2:~/daniel-fuego/fuego$ <mailto:dhinakar@userl2:~/daniel-fuego/fuego$>  ./install.sh
> daniel-fuego-image-20thfeb2019 8090
> Using Port 8090
> [sudo] password for dhinakar:
> Sorry, try again.
> [sudo] password for dhinakar:
> Sending build context to Docker daemon  557.5MB
> Step 1/62 : FROM debian:jessie
>  ---> 39db55273026
> Step 2/62 : MAINTAINER tim.bird@sony.com <mailto:tim.bird@sony.com>
>  ---> Using cache
>  ---> 2178f591a2ab
> Step 3/62 : ARG HTTP_PROXY
>  ---> Using cache
>  ---> 1e9470e7996b
> Step 4/62 : ENV http_proxy ${HTTP_PROXY}
>  ---> Using cache
>  ---> 0513bcdd950f
> Step 5/62 : ENV https_proxy ${HTTP_PROXY}
>  ---> Using cache
>  ---> e5f4eaf2230d
> Step 6/62 : ARG DEBIAN_FRONTEND=noninteractive
>  ---> Using cache
>  ---> 07de86ab3f2d
> Step 7/62 : WORKDIR /
>  ---> Using cache
>  ---> 904d9c4a8c26
> Step 8/62 : RUN echo deb http://httpredir.debian.org/debian jessie main non-free > /etc/apt/sources.list
>  ---> Using cache
>  ---> e0b40e49b817
> Step 9/62 : RUN echo deb http://httpredir.debian.org/debian jessie-updates main non-free >>
> /etc/apt/sources.list
>  ---> Using cache
>  ---> d03e90662475
> Step 10/62 : RUN echo deb http://security.debian.org/ jessie/updates main >> /etc/apt/sources.list
>  ---> Using cache
>  ---> 6f080c2040a6
> Step 11/62 : RUN if [ -n "$HTTP_PROXY" ]; then echo 'Acquire::http::proxy "'$HTTP_PROXY'";' >
> /etc/apt/apt.conf.d/80proxy; fi
>  ---> Using cache
>  ---> 39848694a182
> Step 12/62 : RUN apt-get update && apt-get -yV install  apt-utils daemon gcc make cmake python-paramiko
> python-lxml python-simplejson   python-matplotlib python-serial python-yaml python-openpyxl
> python-requests python-reportlab libtool xmlstarlet autoconf automake rsync openjdk-7-jre openjdk-7-jdk
> iperf netperf netpipe-tcp sshpass wget git diffstat sudo net-tools vim curl     inotify-tools g++ bzip2 bc libaio-dev
> gettext pkg-config libglib2.0-dev     time python-pip python-xmltodict at minicom lzop bsdmainutils
> u-boot-tools      mc netcat lava-tool openssh-server python-parsedatetime         libsdl1.2-dev libcairo2-dev
> libxmu-dev libxmuu-dev iperf3   bison flex libelf-dev libssl-dev
>  ---> Using cache
>  ---> 90b01f4de038
> Step 13/62 : RUN pip install python-jenkins==0.4.14
>  ---> Using cache
>  ---> 911629d1ea69
> Step 14/62 : RUN pip install filelock
>  ---> Using cache
>  ---> d11bead1ba4c
> Step 15/62 : RUN pip install flake8
>  ---> Using cache
>  ---> b5082750430c
> Step 16/62 : RUN /bin/bash -c 'echo "dash dash/sh boolean false" | debconf-set-selections ; dpkg-reconfigure
> dash'
>  ---> Using cache
>  ---> 80f57db54ab4
> Step 17/62 : RUN if [ -n "$HTTP_PROXY" ]; then echo "use_proxy = on" >> /etc/wgetrc; fi
>  ---> Using cache
>  ---> 5ea03342dd30
> Step 18/62 : RUN if [ -n "$HTTP_PROXY" ]; then echo -e
> "http_proxy=$HTTP_PROXY\nhttps_proxy=$HTTP_PROXY" >> /etc/environment; fi
>  ---> Using cache
>  ---> 47ff3af11381
> Step 19/62 : RUN echo -e "JENKINS_PORT=$JENKINS_PORT" >> /etc/environment
>  ---> Using cache
>  ---> afd0442a477b
> Step 20/62 : ARG user=jenkins
>  ---> Using cache
>  ---> 9df1b6250a42
> Step 21/62 : ARG group=jenkins
>  ---> Using cache
>  ---> 3f23dd4f668c
> Step 22/62 : ARG uid=1000
>  ---> Using cache
>  ---> e2b2d5de8863
> Step 23/62 : ARG gid=${uid}
>  ---> Using cache
>  ---> ad63a38b1e16
> Step 24/62 : ARG JENKINS_PORT=8080
>  ---> Using cache
>  ---> da215d42e0cb
> Step 25/62 : ARG JENKINS_VERSION=2.32.1
>  ---> Using cache
>  ---> 226358157dd3
> Step 26/62 : ARG JENKINS_SHA=bfc226aabe2bb089623772950c4cc13aee613af1
>  ---> Using cache
>  ---> afa0745e96fb
> Step 27/62 : ARG
> JENKINS_URL=https://pkg.jenkins.io/debian-stable/binary/jenkins_${JENKINS_VERSION}_all.deb
>  ---> Using cache
>  ---> 37a1b1882ce6
> Step 28/62 : ENV JENKINS_HOME=/var/lib/jenkins
>  ---> Using cache
>  ---> eab82e41f151
> Step 29/62 : ENV JENKINS_PORT=$JENKINS_PORT
>  ---> Using cache
>  ---> 5073105b96d5
> Step 30/62 : RUN getent group ${gid} >/dev/null || groupadd -g ${gid} ${group}
>  ---> Using cache
>  ---> 6635388e0706
> Step 31/62 : RUN useradd -l -m -d "${JENKINS_HOME}" -u ${uid} -g ${gid} -G sudo -s /bin/bash ${user}
>  ---> Using cache
>  ---> 79480c502ab1
> Step 32/62 : RUN wget -nv ${JENKINS_URL}
>  ---> Using cache
>  ---> d8e49cc590ff
> Step 33/62 : RUN echo "${JENKINS_SHA} jenkins_${JENKINS_VERSION}_all.deb" | sha1sum -c -
>  ---> Using cache
>  ---> c70ff0422e30
> Step 34/62 : RUN printf "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d
>  ---> Using cache
>  ---> c0f2f311661f
> Step 35/62 : RUN ls /var/lib/jenkins/plugins || true
>  ---> Using cache
>  ---> f26ef6ad6135
> Step 36/62 : RUN dpkg -i jenkins_${JENKINS_VERSION}_all.deb
>  ---> Using cache
>  ---> 9721f842955c
> Step 37/62 : RUN rm jenkins_${JENKINS_VERSION}_all.deb
>  ---> Using cache
>  ---> fa0645994a3f
> Step 38/62 : RUN ls /var/lib/jenkins/plugins || true
>  ---> Using cache
>  ---> 8949d2cb1c3b
> Step 39/62 : RUN git clone https://github.com/tbird20d/ttc.git /usr/local/src/ttc
>  ---> Using cache
>  ---> 46752d50d34e
> Step 40/62 : RUN /usr/local/src/ttc/install.sh /usr/local/bin
>  ---> Using cache
>  ---> 08d623801cc9
> Step 41/62 : RUN perl -p -i -e "s#config_dir = \"/etc\"#config_dir = \"/fuego-ro/conf\"#" /usr/local/bin/ttc
>  ---> Using cache
>  ---> 4834ec713157
> Step 42/62 : RUN /bin/bash -c 'git clone https://github.com/frowand/serio.git /usr/local/src/serio ;  chown -R
> jenkins /usr/local/src/serio ; cp /usr/local/src/serio/serio /usr/local/bin/ ; ln -s /usr/local/bin/serio
> /usr/local/bin/sercp ; ln -s /usr/local/bin/serio /usr/local/bin/sersh'
>  ---> Using cache
>  ---> 1e4f99bee0ae
> Step 43/62 : RUN /bin/bash -c 'git clone https://github.com/tbird20d/serlogin.git /usr/local/src/serlogin ;
> chown -R jenkins /usr/local/src/serlogin ; cp /usr/local/src/serlogin/serlogin /usr/local/bin'
>  ---> Using cache
>  ---> 56f84e84f3b8
> Step 44/62 : RUN /bin/bash -c 'git clone https://github.com/tbird20d/fserver.git /usr/local/lib/fserver ; ln -s
> /usr/local/lib/fserver/start_local_bg_server /usr/local/bin/start_local_bg_server'
>  ---> Using cache
>  ---> 371ed875a557
> Step 45/62 : RUN source /etc/default/jenkins &&         JENKINS_ARGS="$JENKINS_ARGS --prefix=/fuego"
> &&         sed -i -e "s#JENKINS_ARGS.*#JENKINS_ARGS\=\"${JENKINS_ARGS}\"#g"
> /etc/default/jenkins
>  ---> Using cache
>  ---> 8335752d8102
> Step 46/62 : RUN source /etc/default/jenkins &&         JAVA_ARGS="$JAVA_ARGS
> -Djenkins.install.runSetupWizard=false" &&        if [ -n "$HTTP_PROXY" ]; then
> PROXYSERVER=$(echo $http_proxy | sed -E 's/^http://' | sed -E 's/\///g' | sed -E 's/(.*):(.*)/\1/') &&
> PROXYPORT=$(echo $http_proxy | sed -E 's/^http://' | sed -E 's/\///g' | sed -E 's/(.*):(.*)/\2/') &&
> JAVA_ARGS="$JAVA_ARGS -Dhttp.proxyHost="${PROXYSERVER}" -Dhttp.proxyPort="${PROXYPORT}"
> -Dhttps.proxyHost="${PROXYSERVER}" -Dhttps.proxyPort="${PROXYPORT};         fi &&   sed -i -e
> "s#^JAVA_ARGS.*#JAVA_ARGS\=\"${JAVA_ARGS}\"#g" /etc/default/jenkins;
>  ---> Using cache
>  ---> 537422269297
> Step 47/62 : RUN sed -i -e "s#8080#$JENKINS_PORT#g" /etc/default/jenkins
>  ---> Using cache
>  ---> 7a4ab3d2bf82
> Step 48/62 : COPY frontend-install/plugins/flot-plotter-plugin/flot.hpi /tmp
>  ---> Using cache
>  ---> c713ddd52f86
> Step 49/62 : COPY frontend-install/install-plugins.sh     frontend-install/jenkins-support
> frontend-install/clitest     /usr/local/bin/
>  ---> Using cache
>  ---> f220a8cbe4c9
> Step 50/62 : RUN service jenkins start &&       sleep 30 &&     sudo -u jenkins java -jar
> /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:$JENKINS_PORT/fuego install-plugin
> /tmp/flot.hpi &&     sleep 10 &&     service jenkins stop
>  ---> Using cache
>  ---> 0d9ec9a1db38
> Step 51/62 : RUN /usr/local/bin/install-plugins.sh ant:1.7     bouncycastle-api:2.16.2
> description-setter:1.10     display-url-api:2.1.0     external-monitor-job:1.7     greenballs:1.15
> icon-shim:2.0.3     javadoc:1.4     junit:1.21     ldap:1.17     mailer:1.20     matrix-auth:1.7
> matrix-project:1.12     antisamy-markup-formatter:1.5     pam-auth:1.3     pegdown-formatter:1.3
> script-security:1.35     structs:1.10     windows-slaves:1.3.1
>  ---> Using cache
>  ---> 256294d5b07b
> Step 52/62 : RUN service jenkins start && sleep 30 &&     rm $JENKINS_HOME/plugins/flot/flot/mod.js &&
> ln -s /fuego-core/scripts/mod.js $JENKINS_HOME/plugins/flot/flot/mod.js
>  ---> Using cache
>  ---> af027ed0f4df
> Step 53/62 : RUN ln -s /fuego-rw/logs $JENKINS_HOME/userContent/fuego.logs
>  ---> Using cache
>  ---> bbfe85893379
> Step 54/62 : COPY docs/fuego-docs.pdf $JENKINS_HOME/userContent/docs/fuego-docs.pdf
>  ---> Using cache
>  ---> d5958a27fc41
> Step 55/62 : RUN ln -s /fuego-core/scripts/ftc /usr/local/bin/
>  ---> Using cache
>  ---> 461f56c640b3
> Step 56/62 : COPY frontend-install/config.xml $JENKINS_HOME/config.xml
>  ---> Using cache
>  ---> 499ebdd37e05
> Step 57/62 : COPY frontend-install/jenkins.model.JenkinsLocationConfiguration.xml
> $JENKINS_HOME/jenkins.model.JenkinsLocationConfiguration.xml
>  ---> Using cache
>  ---> b12062a58596
> Step 58/62 : RUN sed -i -e "s#8080#$JENKINS_PORT#g"
> $JENKINS_HOME/jenkins.model.JenkinsLocationConfiguration.xml
>  ---> Using cache
>  ---> 73430b1dc0dd
> Step 59/62 : RUN chown -R jenkins:jenkins $JENKINS_HOME/
>  ---> Using cache
>  ---> b15723367b05
> Step 60/62 : RUN ln -s /fuego-ro/scripts/fuego-lava-target-setup /usr/local/bin
>  ---> Using cache
>  ---> 92e39aa956d2
> Step 61/62 : RUN ln -s /fuego-ro/scripts/fuego-lava-target-teardown /usr/local/bin
>  ---> Using cache
>  ---> bbadc989e914
> Step 62/62 : ENTRYPOINT service jenkins start && service netperf start && iperf3 -V -s -D -f M && /bin/bash
>  ---> Using cache
>  ---> 574ebf64383a
> Successfully built 574ebf64383a
> Successfully tagged daniel-fuego-image-20thfeb2019:latest
> Error response from daemon: Conflict. The container name "/daniel-fuego-image-20thfeb2019-container" is
> already in use by container "a3645ed463ebd70fe1fa0bed88c873c98d1aa863a4dc4773c87296b0a13011e3".
> You have to remove (or rename) that container to be able to reuse that name.
> Could not create fuego-container. See error messages.
> Docker container 'daniel-fuego-image-20thfeb2019-container' is ready with Fuego installation.
> To start, run: ./start.sh daniel-fuego-image-20thfeb2019-container
> 
> 
> Regards,
> 
> Dhinakar
> 
> 
> 
> 
> 
> --------- Original Message ---------
> 
> Sender : daniel.sangorrin@toshiba.co.jp <daniel.sangorrin@toshiba.co.jp>
> 
> Date : 2019-02-20 12:33 (GMT+5:30)
> 
> Title : RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> 
> 
> 
> Hello Dhinakar,
> 
> > From: fuego-bounces@lists.linuxfoundation.org <fuego-bounces@lists.linuxfoundation.org> On Behalf Of
> > Dhinakar Kalyanasundaram
> > Sent: Tuesday, February 19, 2019 10:59 PM
>  > Dear Fuego Users,
> >
> >
> >
> > I want to run multiple instances of fuego (in one powerful server) to cater to different projects (which need to
> be kept
> > separate for security).
> >
> > In this regard I thought I can assign a unique port for each instance, for e.g. 8080 -> Project1, 8081 ->
> Project2 etc.
> >
> > If there is any other better way to achieve the objective please let me know.
> >
> > I modified all occurrences of port 8080 to 8082 under fuego (Dockerfile, ftc, common.sh etc.) & fuego-core
> > directories in my existing installation.
> >
> > Recreated the container -> ./fuego-host-scripts/docker-create-usb-privileged-container.sh
> > containerbackup-15thfeb2019 container-19thfeb2019
> >
> > And Started it -> ./fuego-host-scripts/docker-start-container.sh container-19thfeb2019
> >
> > But it is still running on port 8080 only.
> >
> > The 'containerbackup-15thfeb2019' image that I used to create the new container was running on port 8080,
> could
> > it be because of it?
> >
> > I thought if I make changes in 'fuego', 'fuego-core' directories and recreate the container & start, it should
> listen on
> > port 8082.
> >
> > Should I create a new image after the modification and then create a container and start?
> >
> > Can someone help in this regard?
> 
> I just sent a few patches to support the creation of Fuego images using separate TCP ports.
> They are on the "next" branch of my repository (https://bitbucket.org/nirrognas/) for now.
> Could you give them a try?
> 
> Thanks,
> Daniel
> 
> 
> >
> > Thanks.
> >
> >
> >
> > Regards,
> >
> > Dhinakar
> >
> >
> >
> >
> >
> >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMj
> E5
> >
> MTM1OTE1ZXBjbXM1cDg4N2Y5ZDQxNjA5N2U2NzIxODNkYWYwN2E5OGU3MzQ4NyZyZWNpcGllbnRBZGRyZ
> XNzP
> > WZ1ZWdvQGxpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmc_>
> 
> 
> 
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMjI
> yMDQyNDE3ZXBjbXM1cDVmMzYwMDMwOGIwNWQ0YTRmM2NmMWY4MjQyNTMzM2NlOCZyZWNpcGllbnRBZ
> GRyZXNzPWRhbmllbC5zYW5nb3JyaW5AdG9zaGliYS5jby5qcA__>

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
       [not found]       ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p2>
@ 2019-02-22  5:01         ` Dhinakar Kalyanasundaram
  2019-02-22  5:14           ` daniel.sangorrin
  2019-03-04  7:01         ` [Fuego] Fuego v1.3.0 : ftc remove-nodes issue even when security is disabled Dhinakar Kalyanasundaram
  2019-03-04 13:49         ` Dhinakar Kalyanasundaram
  2 siblings, 1 reply; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-02-22  5:01 UTC (permalink / raw)
  To: daniel.sangorrin; +Cc: fuego, dhinakar.k

[-- Attachment #1: Type: text/html, Size: 13407 bytes --]

[-- Attachment #2: Type: image/gif, Size: 13402 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
       [not found]           ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p1>
@ 2019-02-22  5:02             ` Dhinakar Kalyanasundaram
  2019-03-01 10:39             ` [Fuego] Fuego v1.3.0 : ftc add-nodes issue Dhinakar Kalyanasundaram
  2019-03-13  6:13             ` [Fuego] Need to see logs real-time on the console when target board is connected via serial port Dhinakar Kalyanasundaram
  2 siblings, 0 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-02-22  5:02 UTC (permalink / raw)
  To: daniel.sangorrin; +Cc: fuego

[-- Attachment #1: Type: text/html, Size: 18638 bytes --]

[-- Attachment #2: Type: image/gif, Size: 13402 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
  2019-02-22  5:01         ` Dhinakar Kalyanasundaram
@ 2019-02-22  5:14           ` daniel.sangorrin
  0 siblings, 0 replies; 41+ messages in thread
From: daniel.sangorrin @ 2019-02-22  5:14 UTC (permalink / raw)
  To: dhinakar.k; +Cc: fuego, dhinakar.k

Hi Dhinakar,

> -----Original Message-----
> From: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>
> Sent: Friday, February 22, 2019 2:02 PM
> To: sangorrin daniel(サンゴリン ダニエル ○SWC□OST) <daniel.sangorrin@toshiba.co.jp>
> Cc: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>; fuego@lists.linuxfoundation.org;
> dhinakar.k@gmail.com
> Subject: RE: RE: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> 
> Hi Daniel,
> 
> 
> 
> I am not using the 'next' version, hence don't have that 'NO_CACHE' option.
> 
> 
> 
> I manually modified the ftc and common.sh files to change the port to 8082,
> 
> then created and started the container, which will still listen on 8080 because '/etc/default/jenkins' inside
> container is not yet updated.
> 
> So as you mentioned I manually modified it after starting the container and then restarted it.
> 
> It was able to start and listen on 8082 port but 'Starting network benchmark server failed!' as shown below. Any
> idea why?

Maybe the reason is that iperf/iperf3/netperf is started on the entrypoint and they are using the same port to listen for connections.

Thanks,
Daniel

> Starting Fuego container (fuego-container-19thfeb2019)
> [ ok ] Starting Jenkins Continuous Integration Server: jenkins.
> [FAIL] Starting network benchmark server failed!
> root@linux-2030047407:/ <mailto:root@linux-2030047407:/> # exit
> exit
> 
> 
> FYI, this fail is seen only if another instance of fuego is running on port 8080, if I stop it and run only 8082
> instance then no issue as shown below:
> 
> 
> Starting Fuego container (fuego-container-19thfeb2019)
> [sudo] password for dhinakar:
> [ ok ] Starting Jenkins Continuous Integration Server: jenkins.
> [ ok ] Starting network benchmark server.
> 
> 
> Regards,
> 
> Dhinakar
> 
> 
> 
> 
> 
> --------- Original Message ---------
> 
> Sender : daniel.sangorrin@toshiba.co.jp <daniel.sangorrin@toshiba.co.jp>
> 
> Date : 2019-02-21 06:01 (GMT+5:30)
> 
> Title : RE: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> 
> 
> 
> Hello Dhinakar,
> 
> Maybe your docker is using previous cached steps.
> Could you comment out NO_CACHE from docker-build-image.sh and try again?
> 
> Thanks,
> Daniel
> 
> > -----Original Message-----
> > From: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>
> > Sent: Wednesday, February 20, 2019 11:23 PM
> > To: sangorrin daniel(サンゴリン ダニエル ○SWC□OST) <daniel.sangorrin@toshiba.co.jp>
> > Cc: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>; fuego@lists.linuxfoundation.org;
> > dhinakar.k@gmail.com
> > Subject: RE: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> >
> > Hi Daniel,
> >
> >
> >
> > Any idea why the below error is throw, I was trying to use port 8082 for fuego in another server. Just did the
> port
> > changes manually (updated ftc, common.sh etc.) and executed install.sh.
> >
> > Not sure why it is getting refused.
> >
> >
> >
> > Step 46/57 : RUN service jenkins start &&       sleep 30 &&     sudo -u jenkins java -jar
> > /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8082/fuego install-plugin /tmp/flot.hpi
> &&
> > sleep 10 &&     service jenkins stop
> >  ---> Running in 34f879a820f8
> > Starting Jenkins Continuous Integration Server: jenkins.
> > java.io.IOException: Failed to connect to http://localhost:8082/fuego/
> >         at hudson.cli.CLI.getCliTcpPort(CLI.java:267)
> >         at hudson.cli.CLI.<init>(CLI.java:128)
> >         at hudson.cli.CLIConnectionFactory.connect(CLIConnectionFactory.java:72)
> >         at hudson.cli.CLI._main(CLI.java:473)
> >         at hudson.cli.CLI.main(CLI.java:384)
> >         Suppressed: java.net.ConnectException: Connection refused (Connection refused)
> >                 at java.net.PlainSocketImpl.socketConnect(Native Method)
> >                 at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
> >                 at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
> >                 at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
> >                 at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
> >                 at java.net.Socket.connect(Socket.java:580)
> >                 at java.net.Socket.connect(Socket.java:529)
> >                 at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
> >                 at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
> >                 at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
> >                 at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
> >                 at sun.net.www.http.HttpClient.New(HttpClient.java:339)
> >                 at sun.net.www.http.HttpClient.New(HttpClient.java:357)
> >                 at
> > sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1062)
> >                 at
> sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:998)
> >                 at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:916)
> >                 at
> > sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1157)
> >                 at hudson.cli.FullDuplexHttpStream.<init>(FullDuplexHttpStream.java:77)
> >                 at hudson.cli.CLI.connectViaHttp(CLI.java:152)
> >                 at hudson.cli.CLI.<init>(CLI.java:132)
> >                 ... 3 more
> > Caused by: java.net.ConnectException: Connection refused (Connection refused)
> >         at java.net.PlainSocketImpl.socketConnect(Native Method)
> >         at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
> >         at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
> >         at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
> >         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
> >         at java.net.Socket.connect(Socket.java:580)
> >         at java.net.Socket.connect(Socket.java:529)
> >         at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
> >         at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
> >         at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
> >         at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
> >         at sun.net.www.http.HttpClient.New(HttpClient.java:339)
> >         at sun.net.www.http.HttpClient.New(HttpClient.java:357)
> >         at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1062)
> >         at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:998)
> >         at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:916)
> >         at hudson.cli.CLI.getCliTcpPort(CLI.java:265)
> >         ... 4 more
> > The command '/bin/sh -c service jenkins start &&        sleep 30 &&     sudo -u jenkins java -jar
> > /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8082/fuego install-plugin /tmp/flot.hpi
> &&
> > sleep 10 &&     service jenkins stop' returned a non-zero code: 255
> >
> >
> >
> >
> > Regards,
> >
> > Dhinakar
> >
> >
> >
> >
> >
> > --------- Original Message ---------
> >
> > Sender : Dhinakar Kalyanasundaram <dhinakar.k@samsung.com> Staff Engineer/FDS SW /SSIR/Samsung
> > Electronics
> >
> > Date : 2019-02-20 19:11 (GMT+5:30)
> >
> > Title : RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> >
> >
> >
> > Hi Daniel,
> >
> >
> >
> > Thanks for the response and the patch 'port: allow users to choose a different port for jenkins'.
> >
> > The usage is I need to clone fuego, and while executing ./install.sh I need to provide 'port' number (as shown
> > below)
> >
> > # install.sh [--help] [--priv] [<image_name>] [<port>]
> >
> > This will remove the hard-coded port number (default: 8080) in files such as ftc, common.sh etc.
> >
> > So port needs to be fixed while creating the image (via install.sh), once the image is created port cannot be
> > changed?
> >
> > Is it possible to use an image and create containers each with different port number?
> >
> > It will help me avoid the install step and create identical copies of container with only port number differing.
> >
> >
> >
> > Note: I will let you know about your patch in my next email, I am cloning and installing in another instance
> >
> >
> >
> > Regards,
> >
> > Dhinakar
> >
> >
> >
> >
> >
> > --------- Original Message ---------
> >
> > Sender : daniel.sangorrin@toshiba.co.jp <daniel.sangorrin@toshiba.co.jp>
> >
> > Date : 2019-02-20 12:33 (GMT+5:30)
> >
> > Title : RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> >
> >
> >
> > Hello Dhinakar,
> >
> > > From: fuego-bounces@lists.linuxfoundation.org <fuego-bounces@lists.linuxfoundation.org> On Behalf Of
> > > Dhinakar Kalyanasundaram
> > > Sent: Tuesday, February 19, 2019 10:59 PM
> >  > Dear Fuego Users,
> > >
> > >
> > >
> > > I want to run multiple instances of fuego (in one powerful server) to cater to different projects (which need
> to
> > be kept
> > > separate for security).
> > >
> > > In this regard I thought I can assign a unique port for each instance, for e.g. 8080 -> Project1, 8081 ->
> > Project2 etc.
> > >
> > > If there is any other better way to achieve the objective please let me know.
> > >
> > > I modified all occurrences of port 8080 to 8082 under fuego (Dockerfile, ftc, common.sh etc.) & fuego-core
> > > directories in my existing installation.
> > >
> > > Recreated the container -> ./fuego-host-scripts/docker-create-usb-privileged-container.sh
> > > containerbackup-15thfeb2019 container-19thfeb2019
> > >
> > > And Started it -> ./fuego-host-scripts/docker-start-container.sh container-19thfeb2019
> > >
> > > But it is still running on port 8080 only.
> > >
> > > The 'containerbackup-15thfeb2019' image that I used to create the new container was running on port
> 8080,
> > could
> > > it be because of it?
> > >
> > > I thought if I make changes in 'fuego', 'fuego-core' directories and recreate the container & start, it should
> > listen on
> > > port 8082.
> > >
> > > Should I create a new image after the modification and then create a container and start?
> > >
> > > Can someone help in this regard?
> >
> > I just sent a few patches to support the creation of Fuego images using separate TCP ports.
> > They are on the "next" branch of my repository (https://bitbucket.org/nirrognas/) for now.
> > Could you give them a try?
> >
> > Thanks,
> > Daniel
> >
> >
> > >
> > > Thanks.
> > >
> > >
> > >
> > > Regards,
> > >
> > > Dhinakar
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMj
> > E5
> > >
> >
> MTM1OTE1ZXBjbXM1cDg4N2Y5ZDQxNjA5N2U2NzIxODNkYWYwN2E5OGU3MzQ4NyZyZWNpcGllbnRBZGRyZ
> > XNzP
> > > WZ1ZWdvQGxpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmc_>
> >
> >
> >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMj
> >
> IwMTQyMjUyZXBjbXM1cDg4OGQ2YmJhOWI0ZjZjODg2OWE1ZGNmMjdmNDY2MzdiNiZyZWNpcGllbnRBZGRyZ
> > XNzPWRhbmllbC5zYW5nb3JyaW5AdG9zaGliYS5jby5qcA__>
> 
> 
> 
> 
> 
> 
> 
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMjI
> yMDUwMTUxZXBjbXM1cDJhOGNjMzFiN2IzZGQ0YmQ2MDNkZjI0YmY2MDk0YzdjMCZyZWNpcGllbnRBZGRyZXN
> zPWRhbmllbC5zYW5nb3JyaW5AdG9zaGliYS5jby5qcA__>

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
       [not found]           ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p3>
@ 2019-02-22  5:40             ` Dhinakar Kalyanasundaram
  2019-02-22  5:51               ` daniel.sangorrin
  2019-02-27 13:41             ` [Fuego] Fuego v1.3.0 : ftc add-nodes issue Dhinakar Kalyanasundaram
                               ` (3 subsequent siblings)
  4 siblings, 1 reply; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-02-22  5:40 UTC (permalink / raw)
  To: daniel.sangorrin; +Cc: fuego

[-- Attachment #1: Type: text/html, Size: 19768 bytes --]

[-- Attachment #2: 201602111742151_N3WZA6X7.png --]
[-- Type: image/png, Size: 33527 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
  2019-02-22  5:40             ` [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082) Dhinakar Kalyanasundaram
@ 2019-02-22  5:51               ` daniel.sangorrin
  2019-02-22  5:57                 ` daniel.sangorrin
  0 siblings, 1 reply; 41+ messages in thread
From: daniel.sangorrin @ 2019-02-22  5:51 UTC (permalink / raw)
  To: dhinakar.k; +Cc: fuego

Hi Dhinakar,

> -----Original Message-----
> From: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>
> Sent: Friday, February 22, 2019 2:40 PM
> To: sangorrin daniel(サンゴリン ダニエル ○SWC□OST) <daniel.sangorrin@toshiba.co.jp>
> Cc: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>; fuego@lists.linuxfoundation.org
> Subject: RE: RE: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> 
> Hi Daniel,
> 
> 
> 
> It works perfectly fine (working on port 8090) after disabling the Cache.

Sorry, I am confused. What is working fine?. The next branch, or the manual changes that you did?

> But as mentioned before if one more instance is started say listening on 8080, network benchmark server fails
> to start (as shown below).
> So this port change should also be applied for 'network benchmark server'.

OK, thanks. Let me investigate and I will answer you.

Thanks,
Daniel


> 
> Thanks.
> 
> 
> 
> dhinakar@userl2:~/fuego$ <mailto:dhinakar@userl2:~/fuego$>  ./fuego-host-scripts/docker-start-containe
> r.sh docker-container-7thDec2018
> Starting Fuego container (docker-container-7thDec2018)
> [sudo] password for dhinakar:
> [ ok ] Starting Jenkins Continuous Integration Server: jenkins.
> [FAIL] Starting network benchmark server failed!
> 
> 
> Regards,
> 
> Dhinakar
> 
> 
> 
> 
> 
> --------- Original Message ---------
> 
> Sender : Dhinakar Kalyanasundaram <dhinakar.k@samsung.com> Staff Engineer/FDS SW /SSIR/Samsung
> Electronics
> 
> Date : 2019-02-22 10:32 (GMT+5:30)
> 
> Title : RE: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> 
> 
> 
> Yeah sorry, I also just noticed it after sending the email and rerunning the install now with 'Cache' disabled.
> 
> Thanks for the prompt response.
> 
> 
> 
> Regards,
> 
> Dhinakar
> 
> 
> 
> 
> 
> --------- Original Message ---------
> 
> Sender : daniel.sangorrin@toshiba.co.jp <daniel.sangorrin@toshiba.co.jp>
> 
> Date : 2019-02-22 09:59 (GMT+5:30)
> 
> Title : RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> 
> 
> 
> > -----Original Message-----
> > From: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>
> > Sent: Friday, February 22, 2019 1:24 PM
> > To: sangorrin daniel(サンゴリン ダニエル ○SWC□OST) <daniel.sangorrin@toshiba.co.jp>
> > Cc: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>; fuego@lists.linuxfoundation.org
> > Subject: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> >
> > Hi Daniel,
> >
> >
> >
> > I tried the your patch on the 'next' branch but it seems Jenkins is still running on 8080 port.
> >
> > Please check the log of 'install.sh'
> >
> > I want to run Jenkins on port 8090 and if I create and start the container after installing the image, it seems
> to
> > be listening on 8080 port.
> >
> > In the log also I see that 'Step 24/62 : ARG JENKINS_PORT=8080' even though it says 'Using Port 8090' in
> the
> > beginning.
> >
> > Probably 'ENV JENKINS_PORT=$JENKINS_PORT' is not getting assigned properly.
> >
> >
> >
> > FYI, cache is already commented in docker-build-image.sh (as shown below),
> >
> > #NO_CACHE=--no-cache
> 
> Sorry, not comment out. Uncomment it.
> 
> Regards,
> Daniel
> 
> 
> 
> 
> 
> >
> >
> >
> > Regards,
> >
> > Dhinakar
> >
> >
> >
> > dhinakar@userl2:~/daniel-fuego/fuego$ <mailto:dhinakar@userl2:~/daniel-fuego/fuego$>  ./install.sh
> > daniel-fuego-image-20thfeb2019 8090
> > Using Port 8090
> > [sudo] password for dhinakar:
> > Sorry, try again.
> > [sudo] password for dhinakar:
> > Sending build context to Docker daemon  557.5MB
> > Step 1/62 : FROM debian:jessie
> >  ---> 39db55273026
> > Step 2/62 : MAINTAINER tim.bird@sony.com <mailto:tim.bird@sony.com>
> >  ---> Using cache
> >  ---> 2178f591a2ab
> > Step 3/62 : ARG HTTP_PROXY
> >  ---> Using cache
> >  ---> 1e9470e7996b
> > Step 4/62 : ENV http_proxy ${HTTP_PROXY}
> >  ---> Using cache
> >  ---> 0513bcdd950f
> > Step 5/62 : ENV https_proxy ${HTTP_PROXY}
> >  ---> Using cache
> >  ---> e5f4eaf2230d
> > Step 6/62 : ARG DEBIAN_FRONTEND=noninteractive
> >  ---> Using cache
> >  ---> 07de86ab3f2d
> > Step 7/62 : WORKDIR /
> >  ---> Using cache
> >  ---> 904d9c4a8c26
> > Step 8/62 : RUN echo deb http://httpredir.debian.org/debian jessie main non-free > /etc/apt/sources.list
> >  ---> Using cache
> >  ---> e0b40e49b817
> > Step 9/62 : RUN echo deb http://httpredir.debian.org/debian jessie-updates main non-free >>
> > /etc/apt/sources.list
> >  ---> Using cache
> >  ---> d03e90662475
> > Step 10/62 : RUN echo deb http://security.debian.org/ jessie/updates main >> /etc/apt/sources.list
> >  ---> Using cache
> >  ---> 6f080c2040a6
> > Step 11/62 : RUN if [ -n "$HTTP_PROXY" ]; then echo 'Acquire::http::proxy "'$HTTP_PROXY'";' >
> > /etc/apt/apt.conf.d/80proxy; fi
> >  ---> Using cache
> >  ---> 39848694a182
> > Step 12/62 : RUN apt-get update && apt-get -yV install  apt-utils daemon gcc make cmake python-paramiko
> > python-lxml python-simplejson   python-matplotlib python-serial python-yaml python-openpyxl
> > python-requests python-reportlab libtool xmlstarlet autoconf automake rsync openjdk-7-jre openjdk-7-jdk
> > iperf netperf netpipe-tcp sshpass wget git diffstat sudo net-tools vim curl     inotify-tools g++ bzip2 bc
> libaio-dev
> > gettext pkg-config libglib2.0-dev     time python-pip python-xmltodict at minicom lzop bsdmainutils
> > u-boot-tools      mc netcat lava-tool openssh-server python-parsedatetime         libsdl1.2-dev
> libcairo2-dev
> > libxmu-dev libxmuu-dev iperf3   bison flex libelf-dev libssl-dev
> >  ---> Using cache
> >  ---> 90b01f4de038
> > Step 13/62 : RUN pip install python-jenkins==0.4.14
> >  ---> Using cache
> >  ---> 911629d1ea69
> > Step 14/62 : RUN pip install filelock
> >  ---> Using cache
> >  ---> d11bead1ba4c
> > Step 15/62 : RUN pip install flake8
> >  ---> Using cache
> >  ---> b5082750430c
> > Step 16/62 : RUN /bin/bash -c 'echo "dash dash/sh boolean false" | debconf-set-selections ; dpkg-reconfigure
> > dash'
> >  ---> Using cache
> >  ---> 80f57db54ab4
> > Step 17/62 : RUN if [ -n "$HTTP_PROXY" ]; then echo "use_proxy = on" >> /etc/wgetrc; fi
> >  ---> Using cache
> >  ---> 5ea03342dd30
> > Step 18/62 : RUN if [ -n "$HTTP_PROXY" ]; then echo -e
> > "http_proxy=$HTTP_PROXY\nhttps_proxy=$HTTP_PROXY" >> /etc/environment; fi
> >  ---> Using cache
> >  ---> 47ff3af11381
> > Step 19/62 : RUN echo -e "JENKINS_PORT=$JENKINS_PORT" >> /etc/environment
> >  ---> Using cache
> >  ---> afd0442a477b
> > Step 20/62 : ARG user=jenkins
> >  ---> Using cache
> >  ---> 9df1b6250a42
> > Step 21/62 : ARG group=jenkins
> >  ---> Using cache
> >  ---> 3f23dd4f668c
> > Step 22/62 : ARG uid=1000
> >  ---> Using cache
> >  ---> e2b2d5de8863
> > Step 23/62 : ARG gid=${uid}
> >  ---> Using cache
> >  ---> ad63a38b1e16
> > Step 24/62 : ARG JENKINS_PORT=8080
> >  ---> Using cache
> >  ---> da215d42e0cb
> > Step 25/62 : ARG JENKINS_VERSION=2.32.1
> >  ---> Using cache
> >  ---> 226358157dd3
> > Step 26/62 : ARG JENKINS_SHA=bfc226aabe2bb089623772950c4cc13aee613af1
> >  ---> Using cache
> >  ---> afa0745e96fb
> > Step 27/62 : ARG
> > JENKINS_URL=https://pkg.jenkins.io/debian-stable/binary/jenkins_${JENKINS_VERSION}_all.deb
> >  ---> Using cache
> >  ---> 37a1b1882ce6
> > Step 28/62 : ENV JENKINS_HOME=/var/lib/jenkins
> >  ---> Using cache
> >  ---> eab82e41f151
> > Step 29/62 : ENV JENKINS_PORT=$JENKINS_PORT
> >  ---> Using cache
> >  ---> 5073105b96d5
> > Step 30/62 : RUN getent group ${gid} >/dev/null || groupadd -g ${gid} ${group}
> >  ---> Using cache
> >  ---> 6635388e0706
> > Step 31/62 : RUN useradd -l -m -d "${JENKINS_HOME}" -u ${uid} -g ${gid} -G sudo -s /bin/bash ${user}
> >  ---> Using cache
> >  ---> 79480c502ab1
> > Step 32/62 : RUN wget -nv ${JENKINS_URL}
> >  ---> Using cache
> >  ---> d8e49cc590ff
> > Step 33/62 : RUN echo "${JENKINS_SHA} jenkins_${JENKINS_VERSION}_all.deb" | sha1sum -c -
> >  ---> Using cache
> >  ---> c70ff0422e30
> > Step 34/62 : RUN printf "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d
> >  ---> Using cache
> >  ---> c0f2f311661f
> > Step 35/62 : RUN ls /var/lib/jenkins/plugins || true
> >  ---> Using cache
> >  ---> f26ef6ad6135
> > Step 36/62 : RUN dpkg -i jenkins_${JENKINS_VERSION}_all.deb
> >  ---> Using cache
> >  ---> 9721f842955c
> > Step 37/62 : RUN rm jenkins_${JENKINS_VERSION}_all.deb
> >  ---> Using cache
> >  ---> fa0645994a3f
> > Step 38/62 : RUN ls /var/lib/jenkins/plugins || true
> >  ---> Using cache
> >  ---> 8949d2cb1c3b
> > Step 39/62 : RUN git clone https://github.com/tbird20d/ttc.git /usr/local/src/ttc
> >  ---> Using cache
> >  ---> 46752d50d34e
> > Step 40/62 : RUN /usr/local/src/ttc/install.sh /usr/local/bin
> >  ---> Using cache
> >  ---> 08d623801cc9
> > Step 41/62 : RUN perl -p -i -e "s#config_dir = \"/etc\"#config_dir = \"/fuego-ro/conf\"#" /usr/local/bin/ttc
> >  ---> Using cache
> >  ---> 4834ec713157
> > Step 42/62 : RUN /bin/bash -c 'git clone https://github.com/frowand/serio.git /usr/local/src/serio ;  chown
> -R
> > jenkins /usr/local/src/serio ; cp /usr/local/src/serio/serio /usr/local/bin/ ; ln -s /usr/local/bin/serio
> > /usr/local/bin/sercp ; ln -s /usr/local/bin/serio /usr/local/bin/sersh'
> >  ---> Using cache
> >  ---> 1e4f99bee0ae
> > Step 43/62 : RUN /bin/bash -c 'git clone https://github.com/tbird20d/serlogin.git /usr/local/src/serlogin ;
> > chown -R jenkins /usr/local/src/serlogin ; cp /usr/local/src/serlogin/serlogin /usr/local/bin'
> >  ---> Using cache
> >  ---> 56f84e84f3b8
> > Step 44/62 : RUN /bin/bash -c 'git clone https://github.com/tbird20d/fserver.git /usr/local/lib/fserver ; ln -s
> > /usr/local/lib/fserver/start_local_bg_server /usr/local/bin/start_local_bg_server'
> >  ---> Using cache
> >  ---> 371ed875a557
> > Step 45/62 : RUN source /etc/default/jenkins &&         JENKINS_ARGS="$JENKINS_ARGS
> --prefix=/fuego"
> > &&         sed -i -e "s#JENKINS_ARGS.*#JENKINS_ARGS\=\"${JENKINS_ARGS}\"#g"
> > /etc/default/jenkins
> >  ---> Using cache
> >  ---> 8335752d8102
> > Step 46/62 : RUN source /etc/default/jenkins &&         JAVA_ARGS="$JAVA_ARGS
> > -Djenkins.install.runSetupWizard=false" &&        if [ -n "$HTTP_PROXY" ]; then
> > PROXYSERVER=$(echo $http_proxy | sed -E 's/^http://' | sed -E 's/\///g' | sed -E 's/(.*):(.*)/\1/') &&
> > PROXYPORT=$(echo $http_proxy | sed -E 's/^http://' | sed -E 's/\///g' | sed -E 's/(.*):(.*)/\2/') &&
> > JAVA_ARGS="$JAVA_ARGS -Dhttp.proxyHost="${PROXYSERVER}" -Dhttp.proxyPort="${PROXYPORT}"
> > -Dhttps.proxyHost="${PROXYSERVER}" -Dhttps.proxyPort="${PROXYPORT};         fi &&   sed -i -e
> > "s#^JAVA_ARGS.*#JAVA_ARGS\=\"${JAVA_ARGS}\"#g" /etc/default/jenkins;
> >  ---> Using cache
> >  ---> 537422269297
> > Step 47/62 : RUN sed -i -e "s#8080#$JENKINS_PORT#g" /etc/default/jenkins
> >  ---> Using cache
> >  ---> 7a4ab3d2bf82
> > Step 48/62 : COPY frontend-install/plugins/flot-plotter-plugin/flot.hpi /tmp
> >  ---> Using cache
> >  ---> c713ddd52f86
> > Step 49/62 : COPY frontend-install/install-plugins.sh     frontend-install/jenkins-support
> > frontend-install/clitest     /usr/local/bin/
> >  ---> Using cache
> >  ---> f220a8cbe4c9
> > Step 50/62 : RUN service jenkins start &&       sleep 30 &&     sudo -u jenkins java -jar
> > /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:$JENKINS_PORT/fuego install-plugin
> > /tmp/flot.hpi &&     sleep 10 &&     service jenkins stop
> >  ---> Using cache
> >  ---> 0d9ec9a1db38
> > Step 51/62 : RUN /usr/local/bin/install-plugins.sh ant:1.7     bouncycastle-api:2.16.2
> > description-setter:1.10     display-url-api:2.1.0     external-monitor-job:1.7     greenballs:1.15
> > icon-shim:2.0.3     javadoc:1.4     junit:1.21     ldap:1.17     mailer:1.20     matrix-auth:1.7
> > matrix-project:1.12     antisamy-markup-formatter:1.5     pam-auth:1.3     pegdown-formatter:1.3
> > script-security:1.35     structs:1.10     windows-slaves:1.3.1
> >  ---> Using cache
> >  ---> 256294d5b07b
> > Step 52/62 : RUN service jenkins start && sleep 30 &&     rm $JENKINS_HOME/plugins/flot/flot/mod.js &&
> > ln -s /fuego-core/scripts/mod.js $JENKINS_HOME/plugins/flot/flot/mod.js
> >  ---> Using cache
> >  ---> af027ed0f4df
> > Step 53/62 : RUN ln -s /fuego-rw/logs $JENKINS_HOME/userContent/fuego.logs
> >  ---> Using cache
> >  ---> bbfe85893379
> > Step 54/62 : COPY docs/fuego-docs.pdf $JENKINS_HOME/userContent/docs/fuego-docs.pdf
> >  ---> Using cache
> >  ---> d5958a27fc41
> > Step 55/62 : RUN ln -s /fuego-core/scripts/ftc /usr/local/bin/
> >  ---> Using cache
> >  ---> 461f56c640b3
> > Step 56/62 : COPY frontend-install/config.xml $JENKINS_HOME/config.xml
> >  ---> Using cache
> >  ---> 499ebdd37e05
> > Step 57/62 : COPY frontend-install/jenkins.model.JenkinsLocationConfiguration.xml
> > $JENKINS_HOME/jenkins.model.JenkinsLocationConfiguration.xml
> >  ---> Using cache
> >  ---> b12062a58596
> > Step 58/62 : RUN sed -i -e "s#8080#$JENKINS_PORT#g"
> > $JENKINS_HOME/jenkins.model.JenkinsLocationConfiguration.xml
> >  ---> Using cache
> >  ---> 73430b1dc0dd
> > Step 59/62 : RUN chown -R jenkins:jenkins $JENKINS_HOME/
> >  ---> Using cache
> >  ---> b15723367b05
> > Step 60/62 : RUN ln -s /fuego-ro/scripts/fuego-lava-target-setup /usr/local/bin
> >  ---> Using cache
> >  ---> 92e39aa956d2
> > Step 61/62 : RUN ln -s /fuego-ro/scripts/fuego-lava-target-teardown /usr/local/bin
> >  ---> Using cache
> >  ---> bbadc989e914
> > Step 62/62 : ENTRYPOINT service jenkins start && service netperf start && iperf3 -V -s -D -f M && /bin/bash
> >  ---> Using cache
> >  ---> 574ebf64383a
> > Successfully built 574ebf64383a
> > Successfully tagged daniel-fuego-image-20thfeb2019:latest
> > Error response from daemon: Conflict. The container name "/daniel-fuego-image-20thfeb2019-container" is
> > already in use by container
> "a3645ed463ebd70fe1fa0bed88c873c98d1aa863a4dc4773c87296b0a13011e3".
> > You have to remove (or rename) that container to be able to reuse that name.
> > Could not create fuego-container. See error messages.
> > Docker container 'daniel-fuego-image-20thfeb2019-container' is ready with Fuego installation.
> > To start, run: ./start.sh daniel-fuego-image-20thfeb2019-container
> >
> >
> > Regards,
> >
> > Dhinakar
> >
> >
> >
> >
> >
> > --------- Original Message ---------
> >
> > Sender : daniel.sangorrin@toshiba.co.jp <daniel.sangorrin@toshiba.co.jp>
> >
> > Date : 2019-02-20 12:33 (GMT+5:30)
> >
> > Title : RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> >
> >
> >
> > Hello Dhinakar,
> >
> > > From: fuego-bounces@lists.linuxfoundation.org <fuego-bounces@lists.linuxfoundation.org> On Behalf Of
> > > Dhinakar Kalyanasundaram
> > > Sent: Tuesday, February 19, 2019 10:59 PM
> >  > Dear Fuego Users,
> > >
> > >
> > >
> > > I want to run multiple instances of fuego (in one powerful server) to cater to different projects (which need
> to
> > be kept
> > > separate for security).
> > >
> > > In this regard I thought I can assign a unique port for each instance, for e.g. 8080 -> Project1, 8081 ->
> > Project2 etc.
> > >
> > > If there is any other better way to achieve the objective please let me know.
> > >
> > > I modified all occurrences of port 8080 to 8082 under fuego (Dockerfile, ftc, common.sh etc.) & fuego-core
> > > directories in my existing installation.
> > >
> > > Recreated the container -> ./fuego-host-scripts/docker-create-usb-privileged-container.sh
> > > containerbackup-15thfeb2019 container-19thfeb2019
> > >
> > > And Started it -> ./fuego-host-scripts/docker-start-container.sh container-19thfeb2019
> > >
> > > But it is still running on port 8080 only.
> > >
> > > The 'containerbackup-15thfeb2019' image that I used to create the new container was running on port
> 8080,
> > could
> > > it be because of it?
> > >
> > > I thought if I make changes in 'fuego', 'fuego-core' directories and recreate the container & start, it should
> > listen on
> > > port 8082.
> > >
> > > Should I create a new image after the modification and then create a container and start?
> > >
> > > Can someone help in this regard?
> >
> > I just sent a few patches to support the creation of Fuego images using separate TCP ports.
> > They are on the "next" branch of my repository (https://bitbucket.org/nirrognas/) for now.
> > Could you give them a try?
> >
> > Thanks,
> > Daniel
> >
> >
> > >
> > > Thanks.
> > >
> > >
> > >
> > > Regards,
> > >
> > > Dhinakar
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMj
> > E5
> > >
> >
> MTM1OTE1ZXBjbXM1cDg4N2Y5ZDQxNjA5N2U2NzIxODNkYWYwN2E5OGU3MzQ4NyZyZWNpcGllbnRBZGRyZ
> > XNzP
> > > WZ1ZWdvQGxpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmc_>
> >
> >
> >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMj
> I
> >
> yMDQyNDE3ZXBjbXM1cDVmMzYwMDMwOGIwNWQ0YTRmM2NmMWY4MjQyNTMzM2NlOCZyZWNpcGllbnRBZ
> > GRyZXNzPWRhbmllbC5zYW5nb3JyaW5AdG9zaGliYS5jby5qcA__>
> 
> 
> 
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMjI
> yMDU0MDE1ZXBjbXM1cDM1NTNkMWI3MTY1N2IwYzYxMmVmZjU0MTEzY2Q1YTRiOCZyZWNpcGllbnRBZGRyZ
> XNzPWRhbmllbC5zYW5nb3JyaW5AdG9zaGliYS5jby5qcA__>

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
       [not found]       ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p7>
  2019-02-20 13:41         ` [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082) Dhinakar Kalyanasundaram
@ 2019-02-22  5:57         ` Dhinakar Kalyanasundaram
  2019-02-22  6:01           ` daniel.sangorrin
  2019-02-27 13:41         ` Dhinakar Kalyanasundaram
  2 siblings, 1 reply; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-02-22  5:57 UTC (permalink / raw)
  To: daniel.sangorrin, Dhinakar Kalyanasundaram; +Cc: fuego

[-- Attachment #1: Type: text/html, Size: 23431 bytes --]

[-- Attachment #2: 201602111742151_N3WZA6X7.png --]
[-- Type: image/png, Size: 33527 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
  2019-02-22  5:51               ` daniel.sangorrin
@ 2019-02-22  5:57                 ` daniel.sangorrin
  2019-02-27  2:47                   ` Tim.Bird
  0 siblings, 1 reply; 41+ messages in thread
From: daniel.sangorrin @ 2019-02-22  5:57 UTC (permalink / raw)
  To: dhinakar.k; +Cc: fuego

Hi Dhinakar,

> [FAIL] Starting network benchmark server failed!

This failure is normal, because you are trying to start a netperf server on two containers at the same time and only one can serve that port. Given that the netperf tests do not specify the port I think that you can safely ignore the fail message because the target will connect to whatever netperf server is available.

Actually, the idea of running netperf on the docker container is quite hacky itself.

Thanks,
Daniel



> -----Original Message-----
> From: sangorrin daniel(サンゴリン ダニエル ○SWC□OST)
> Sent: Friday, February 22, 2019 2:52 PM
> To: dhinakar.k@samsung.com
> Cc: fuego@lists.linuxfoundation.org
> Subject: RE: RE: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> 
> Hi Dhinakar,
> 
> > -----Original Message-----
> > From: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>
> > Sent: Friday, February 22, 2019 2:40 PM
> > To: sangorrin daniel(サンゴリン ダニエル ○SWC□OST) <daniel.sangorrin@toshiba.co.jp>
> > Cc: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>; fuego@lists.linuxfoundation.org
> > Subject: RE: RE: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> >
> > Hi Daniel,
> >
> >
> >
> > It works perfectly fine (working on port 8090) after disabling the Cache.
> 
> Sorry, I am confused. What is working fine?. The next branch, or the manual changes that you did?
> 
> > But as mentioned before if one more instance is started say listening on 8080, network benchmark server fails
> > to start (as shown below).
> > So this port change should also be applied for 'network benchmark server'.
> 
> OK, thanks. Let me investigate and I will answer you.
> 
> Thanks,
> Daniel
> 
> 
> >
> > Thanks.
> >
> >
> >
> >
> dhinakar@userl2:~/fuego$ <mailto:dhinakar@userl2:~/fuego$>  ./fuego-host-scripts/docker-start-containe
> > r.sh docker-container-7thDec2018
> > Starting Fuego container (docker-container-7thDec2018)
> > [sudo] password for dhinakar:
> > [ ok ] Starting Jenkins Continuous Integration Server: jenkins.
> > [FAIL] Starting network benchmark server failed!
> >
> >
> > Regards,
> >
> > Dhinakar
> >
> >
> >
> >
> >
> > --------- Original Message ---------
> >
> > Sender : Dhinakar Kalyanasundaram <dhinakar.k@samsung.com> Staff Engineer/FDS SW /SSIR/Samsung
> > Electronics
> >
> > Date : 2019-02-22 10:32 (GMT+5:30)
> >
> > Title : RE: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> >
> >
> >
> > Yeah sorry, I also just noticed it after sending the email and rerunning the install now with 'Cache' disabled.
> >
> > Thanks for the prompt response.
> >
> >
> >
> > Regards,
> >
> > Dhinakar
> >
> >
> >
> >
> >
> > --------- Original Message ---------
> >
> > Sender : daniel.sangorrin@toshiba.co.jp <daniel.sangorrin@toshiba.co.jp>
> >
> > Date : 2019-02-22 09:59 (GMT+5:30)
> >
> > Title : RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> >
> >
> >
> > > -----Original Message-----
> > > From: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>
> > > Sent: Friday, February 22, 2019 1:24 PM
> > > To: sangorrin daniel(サンゴリン ダニエル ○SWC□OST) <daniel.sangorrin@toshiba.co.jp>
> > > Cc: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>; fuego@lists.linuxfoundation.org
> > > Subject: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> > >
> > > Hi Daniel,
> > >
> > >
> > >
> > > I tried the your patch on the 'next' branch but it seems Jenkins is still running on 8080 port.
> > >
> > > Please check the log of 'install.sh'
> > >
> > > I want to run Jenkins on port 8090 and if I create and start the container after installing the image, it seems
> > to
> > > be listening on 8080 port.
> > >
> > > In the log also I see that 'Step 24/62 : ARG JENKINS_PORT=8080' even though it says 'Using Port 8090'
> in
> > the
> > > beginning.
> > >
> > > Probably 'ENV JENKINS_PORT=$JENKINS_PORT' is not getting assigned properly.
> > >
> > >
> > >
> > > FYI, cache is already commented in docker-build-image.sh (as shown below),
> > >
> > > #NO_CACHE=--no-cache
> >
> > Sorry, not comment out. Uncomment it.
> >
> > Regards,
> > Daniel
> >
> >
> >
> >
> >
> > >
> > >
> > >
> > > Regards,
> > >
> > > Dhinakar
> > >
> > >
> > >
> > > dhinakar@userl2:~/daniel-fuego/fuego$ <mailto:dhinakar@userl2:~/daniel-fuego/fuego$>  ./install.sh
> > > daniel-fuego-image-20thfeb2019 8090
> > > Using Port 8090
> > > [sudo] password for dhinakar:
> > > Sorry, try again.
> > > [sudo] password for dhinakar:
> > > Sending build context to Docker daemon  557.5MB
> > > Step 1/62 : FROM debian:jessie
> > >  ---> 39db55273026
> > > Step 2/62 : MAINTAINER tim.bird@sony.com <mailto:tim.bird@sony.com>
> > >  ---> Using cache
> > >  ---> 2178f591a2ab
> > > Step 3/62 : ARG HTTP_PROXY
> > >  ---> Using cache
> > >  ---> 1e9470e7996b
> > > Step 4/62 : ENV http_proxy ${HTTP_PROXY}
> > >  ---> Using cache
> > >  ---> 0513bcdd950f
> > > Step 5/62 : ENV https_proxy ${HTTP_PROXY}
> > >  ---> Using cache
> > >  ---> e5f4eaf2230d
> > > Step 6/62 : ARG DEBIAN_FRONTEND=noninteractive
> > >  ---> Using cache
> > >  ---> 07de86ab3f2d
> > > Step 7/62 : WORKDIR /
> > >  ---> Using cache
> > >  ---> 904d9c4a8c26
> > > Step 8/62 : RUN echo deb http://httpredir.debian.org/debian jessie main non-free > /etc/apt/sources.list
> > >  ---> Using cache
> > >  ---> e0b40e49b817
> > > Step 9/62 : RUN echo deb http://httpredir.debian.org/debian jessie-updates main non-free >>
> > > /etc/apt/sources.list
> > >  ---> Using cache
> > >  ---> d03e90662475
> > > Step 10/62 : RUN echo deb http://security.debian.org/ jessie/updates main >> /etc/apt/sources.list
> > >  ---> Using cache
> > >  ---> 6f080c2040a6
> > > Step 11/62 : RUN if [ -n "$HTTP_PROXY" ]; then echo 'Acquire::http::proxy "'$HTTP_PROXY'";' >
> > > /etc/apt/apt.conf.d/80proxy; fi
> > >  ---> Using cache
> > >  ---> 39848694a182
> > > Step 12/62 : RUN apt-get update && apt-get -yV install  apt-utils daemon gcc make cmake
> python-paramiko
> > > python-lxml python-simplejson   python-matplotlib python-serial python-yaml python-openpyxl
> > > python-requests python-reportlab libtool xmlstarlet autoconf automake rsync openjdk-7-jre openjdk-7-jdk
> > > iperf netperf netpipe-tcp sshpass wget git diffstat sudo net-tools vim curl     inotify-tools g++ bzip2 bc
> > libaio-dev
> > > gettext pkg-config libglib2.0-dev     time python-pip python-xmltodict at minicom lzop bsdmainutils
> > > u-boot-tools      mc netcat lava-tool openssh-server python-parsedatetime         libsdl1.2-dev
> > libcairo2-dev
> > > libxmu-dev libxmuu-dev iperf3   bison flex libelf-dev libssl-dev
> > >  ---> Using cache
> > >  ---> 90b01f4de038
> > > Step 13/62 : RUN pip install python-jenkins==0.4.14
> > >  ---> Using cache
> > >  ---> 911629d1ea69
> > > Step 14/62 : RUN pip install filelock
> > >  ---> Using cache
> > >  ---> d11bead1ba4c
> > > Step 15/62 : RUN pip install flake8
> > >  ---> Using cache
> > >  ---> b5082750430c
> > > Step 16/62 : RUN /bin/bash -c 'echo "dash dash/sh boolean false" | debconf-set-selections ;
> dpkg-reconfigure
> > > dash'
> > >  ---> Using cache
> > >  ---> 80f57db54ab4
> > > Step 17/62 : RUN if [ -n "$HTTP_PROXY" ]; then echo "use_proxy = on" >> /etc/wgetrc; fi
> > >  ---> Using cache
> > >  ---> 5ea03342dd30
> > > Step 18/62 : RUN if [ -n "$HTTP_PROXY" ]; then echo -e
> > > "http_proxy=$HTTP_PROXY\nhttps_proxy=$HTTP_PROXY" >> /etc/environment; fi
> > >  ---> Using cache
> > >  ---> 47ff3af11381
> > > Step 19/62 : RUN echo -e "JENKINS_PORT=$JENKINS_PORT" >> /etc/environment
> > >  ---> Using cache
> > >  ---> afd0442a477b
> > > Step 20/62 : ARG user=jenkins
> > >  ---> Using cache
> > >  ---> 9df1b6250a42
> > > Step 21/62 : ARG group=jenkins
> > >  ---> Using cache
> > >  ---> 3f23dd4f668c
> > > Step 22/62 : ARG uid=1000
> > >  ---> Using cache
> > >  ---> e2b2d5de8863
> > > Step 23/62 : ARG gid=${uid}
> > >  ---> Using cache
> > >  ---> ad63a38b1e16
> > > Step 24/62 : ARG JENKINS_PORT=8080
> > >  ---> Using cache
> > >  ---> da215d42e0cb
> > > Step 25/62 : ARG JENKINS_VERSION=2.32.1
> > >  ---> Using cache
> > >  ---> 226358157dd3
> > > Step 26/62 : ARG JENKINS_SHA=bfc226aabe2bb089623772950c4cc13aee613af1
> > >  ---> Using cache
> > >  ---> afa0745e96fb
> > > Step 27/62 : ARG
> > > JENKINS_URL=https://pkg.jenkins.io/debian-stable/binary/jenkins_${JENKINS_VERSION}_all.deb
> > >  ---> Using cache
> > >  ---> 37a1b1882ce6
> > > Step 28/62 : ENV JENKINS_HOME=/var/lib/jenkins
> > >  ---> Using cache
> > >  ---> eab82e41f151
> > > Step 29/62 : ENV JENKINS_PORT=$JENKINS_PORT
> > >  ---> Using cache
> > >  ---> 5073105b96d5
> > > Step 30/62 : RUN getent group ${gid} >/dev/null || groupadd -g ${gid} ${group}
> > >  ---> Using cache
> > >  ---> 6635388e0706
> > > Step 31/62 : RUN useradd -l -m -d "${JENKINS_HOME}" -u ${uid} -g ${gid} -G sudo -s /bin/bash ${user}
> > >  ---> Using cache
> > >  ---> 79480c502ab1
> > > Step 32/62 : RUN wget -nv ${JENKINS_URL}
> > >  ---> Using cache
> > >  ---> d8e49cc590ff
> > > Step 33/62 : RUN echo "${JENKINS_SHA} jenkins_${JENKINS_VERSION}_all.deb" | sha1sum -c -
> > >  ---> Using cache
> > >  ---> c70ff0422e30
> > > Step 34/62 : RUN printf "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d
> > >  ---> Using cache
> > >  ---> c0f2f311661f
> > > Step 35/62 : RUN ls /var/lib/jenkins/plugins || true
> > >  ---> Using cache
> > >  ---> f26ef6ad6135
> > > Step 36/62 : RUN dpkg -i jenkins_${JENKINS_VERSION}_all.deb
> > >  ---> Using cache
> > >  ---> 9721f842955c
> > > Step 37/62 : RUN rm jenkins_${JENKINS_VERSION}_all.deb
> > >  ---> Using cache
> > >  ---> fa0645994a3f
> > > Step 38/62 : RUN ls /var/lib/jenkins/plugins || true
> > >  ---> Using cache
> > >  ---> 8949d2cb1c3b
> > > Step 39/62 : RUN git clone https://github.com/tbird20d/ttc.git /usr/local/src/ttc
> > >  ---> Using cache
> > >  ---> 46752d50d34e
> > > Step 40/62 : RUN /usr/local/src/ttc/install.sh /usr/local/bin
> > >  ---> Using cache
> > >  ---> 08d623801cc9
> > > Step 41/62 : RUN perl -p -i -e "s#config_dir = \"/etc\"#config_dir = \"/fuego-ro/conf\"#"
> /usr/local/bin/ttc
> > >  ---> Using cache
> > >  ---> 4834ec713157
> > > Step 42/62 : RUN /bin/bash -c 'git clone https://github.com/frowand/serio.git /usr/local/src/serio ;
> chown
> > -R
> > > jenkins /usr/local/src/serio ; cp /usr/local/src/serio/serio /usr/local/bin/ ; ln -s /usr/local/bin/serio
> > > /usr/local/bin/sercp ; ln -s /usr/local/bin/serio /usr/local/bin/sersh'
> > >  ---> Using cache
> > >  ---> 1e4f99bee0ae
> > > Step 43/62 : RUN /bin/bash -c 'git clone https://github.com/tbird20d/serlogin.git /usr/local/src/serlogin ;
> > > chown -R jenkins /usr/local/src/serlogin ; cp /usr/local/src/serlogin/serlogin /usr/local/bin'
> > >  ---> Using cache
> > >  ---> 56f84e84f3b8
> > > Step 44/62 : RUN /bin/bash -c 'git clone https://github.com/tbird20d/fserver.git /usr/local/lib/fserver ; ln
> -s
> > > /usr/local/lib/fserver/start_local_bg_server /usr/local/bin/start_local_bg_server'
> > >  ---> Using cache
> > >  ---> 371ed875a557
> > > Step 45/62 : RUN source /etc/default/jenkins &&         JENKINS_ARGS="$JENKINS_ARGS
> > --prefix=/fuego"
> > > &&         sed -i -e "s#JENKINS_ARGS.*#JENKINS_ARGS\=\"${JENKINS_ARGS}\"#g"
> > > /etc/default/jenkins
> > >  ---> Using cache
> > >  ---> 8335752d8102
> > > Step 46/62 : RUN source /etc/default/jenkins &&         JAVA_ARGS="$JAVA_ARGS
> > > -Djenkins.install.runSetupWizard=false" &&        if [ -n "$HTTP_PROXY" ]; then
> > > PROXYSERVER=$(echo $http_proxy | sed -E 's/^http://' | sed -E 's/\///g' | sed -E 's/(.*):(.*)/\1/') &&
> > > PROXYPORT=$(echo $http_proxy | sed -E 's/^http://' | sed -E 's/\///g' | sed -E 's/(.*):(.*)/\2/') &&
> > > JAVA_ARGS="$JAVA_ARGS -Dhttp.proxyHost="${PROXYSERVER}" -Dhttp.proxyPort="${PROXYPORT}"
> > > -Dhttps.proxyHost="${PROXYSERVER}" -Dhttps.proxyPort="${PROXYPORT};         fi &&   sed -i -e
> > > "s#^JAVA_ARGS.*#JAVA_ARGS\=\"${JAVA_ARGS}\"#g" /etc/default/jenkins;
> > >  ---> Using cache
> > >  ---> 537422269297
> > > Step 47/62 : RUN sed -i -e "s#8080#$JENKINS_PORT#g" /etc/default/jenkins
> > >  ---> Using cache
> > >  ---> 7a4ab3d2bf82
> > > Step 48/62 : COPY frontend-install/plugins/flot-plotter-plugin/flot.hpi /tmp
> > >  ---> Using cache
> > >  ---> c713ddd52f86
> > > Step 49/62 : COPY frontend-install/install-plugins.sh     frontend-install/jenkins-support
> > > frontend-install/clitest     /usr/local/bin/
> > >  ---> Using cache
> > >  ---> f220a8cbe4c9
> > > Step 50/62 : RUN service jenkins start &&       sleep 30 &&     sudo -u jenkins java -jar
> > > /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:$JENKINS_PORT/fuego install-plugin
> > > /tmp/flot.hpi &&     sleep 10 &&     service jenkins stop
> > >  ---> Using cache
> > >  ---> 0d9ec9a1db38
> > > Step 51/62 : RUN /usr/local/bin/install-plugins.sh ant:1.7     bouncycastle-api:2.16.2
> > > description-setter:1.10     display-url-api:2.1.0     external-monitor-job:1.7     greenballs:1.15
> > > icon-shim:2.0.3     javadoc:1.4     junit:1.21     ldap:1.17     mailer:1.20     matrix-auth:1.7
> > > matrix-project:1.12     antisamy-markup-formatter:1.5     pam-auth:1.3     pegdown-formatter:1.3
> > > script-security:1.35     structs:1.10     windows-slaves:1.3.1
> > >  ---> Using cache
> > >  ---> 256294d5b07b
> > > Step 52/62 : RUN service jenkins start && sleep 30 &&     rm $JENKINS_HOME/plugins/flot/flot/mod.js
> &&
> > > ln -s /fuego-core/scripts/mod.js $JENKINS_HOME/plugins/flot/flot/mod.js
> > >  ---> Using cache
> > >  ---> af027ed0f4df
> > > Step 53/62 : RUN ln -s /fuego-rw/logs $JENKINS_HOME/userContent/fuego.logs
> > >  ---> Using cache
> > >  ---> bbfe85893379
> > > Step 54/62 : COPY docs/fuego-docs.pdf $JENKINS_HOME/userContent/docs/fuego-docs.pdf
> > >  ---> Using cache
> > >  ---> d5958a27fc41
> > > Step 55/62 : RUN ln -s /fuego-core/scripts/ftc /usr/local/bin/
> > >  ---> Using cache
> > >  ---> 461f56c640b3
> > > Step 56/62 : COPY frontend-install/config.xml $JENKINS_HOME/config.xml
> > >  ---> Using cache
> > >  ---> 499ebdd37e05
> > > Step 57/62 : COPY frontend-install/jenkins.model.JenkinsLocationConfiguration.xml
> > > $JENKINS_HOME/jenkins.model.JenkinsLocationConfiguration.xml
> > >  ---> Using cache
> > >  ---> b12062a58596
> > > Step 58/62 : RUN sed -i -e "s#8080#$JENKINS_PORT#g"
> > > $JENKINS_HOME/jenkins.model.JenkinsLocationConfiguration.xml
> > >  ---> Using cache
> > >  ---> 73430b1dc0dd
> > > Step 59/62 : RUN chown -R jenkins:jenkins $JENKINS_HOME/
> > >  ---> Using cache
> > >  ---> b15723367b05
> > > Step 60/62 : RUN ln -s /fuego-ro/scripts/fuego-lava-target-setup /usr/local/bin
> > >  ---> Using cache
> > >  ---> 92e39aa956d2
> > > Step 61/62 : RUN ln -s /fuego-ro/scripts/fuego-lava-target-teardown /usr/local/bin
> > >  ---> Using cache
> > >  ---> bbadc989e914
> > > Step 62/62 : ENTRYPOINT service jenkins start && service netperf start && iperf3 -V -s -D -f M && /bin/bash
> > >  ---> Using cache
> > >  ---> 574ebf64383a
> > > Successfully built 574ebf64383a
> > > Successfully tagged daniel-fuego-image-20thfeb2019:latest
> > > Error response from daemon: Conflict. The container name "/daniel-fuego-image-20thfeb2019-container"
> is
> > > already in use by container
> > "a3645ed463ebd70fe1fa0bed88c873c98d1aa863a4dc4773c87296b0a13011e3".
> > > You have to remove (or rename) that container to be able to reuse that name.
> > > Could not create fuego-container. See error messages.
> > > Docker container 'daniel-fuego-image-20thfeb2019-container' is ready with Fuego installation.
> > > To start, run: ./start.sh daniel-fuego-image-20thfeb2019-container
> > >
> > >
> > > Regards,
> > >
> > > Dhinakar
> > >
> > >
> > >
> > >
> > >
> > > --------- Original Message ---------
> > >
> > > Sender : daniel.sangorrin@toshiba.co.jp <daniel.sangorrin@toshiba.co.jp>
> > >
> > > Date : 2019-02-20 12:33 (GMT+5:30)
> > >
> > > Title : RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> > >
> > >
> > >
> > > Hello Dhinakar,
> > >
> > > > From: fuego-bounces@lists.linuxfoundation.org <fuego-bounces@lists.linuxfoundation.org> On Behalf
> Of
> > > > Dhinakar Kalyanasundaram
> > > > Sent: Tuesday, February 19, 2019 10:59 PM
> > >  > Dear Fuego Users,
> > > >
> > > >
> > > >
> > > > I want to run multiple instances of fuego (in one powerful server) to cater to different projects (which need
> > to
> > > be kept
> > > > separate for security).
> > > >
> > > > In this regard I thought I can assign a unique port for each instance, for e.g. 8080 -> Project1, 8081 ->
> > > Project2 etc.
> > > >
> > > > If there is any other better way to achieve the objective please let me know.
> > > >
> > > > I modified all occurrences of port 8080 to 8082 under fuego (Dockerfile, ftc, common.sh etc.) &
> fuego-core
> > > > directories in my existing installation.
> > > >
> > > > Recreated the container -> ./fuego-host-scripts/docker-create-usb-privileged-container.sh
> > > > containerbackup-15thfeb2019 container-19thfeb2019
> > > >
> > > > And Started it -> ./fuego-host-scripts/docker-start-container.sh container-19thfeb2019
> > > >
> > > > But it is still running on port 8080 only.
> > > >
> > > > The 'containerbackup-15thfeb2019' image that I used to create the new container was running on port
> > 8080,
> > > could
> > > > it be because of it?
> > > >
> > > > I thought if I make changes in 'fuego', 'fuego-core' directories and recreate the container & start, it should
> > > listen on
> > > > port 8082.
> > > >
> > > > Should I create a new image after the modification and then create a container and start?
> > > >
> > > > Can someone help in this regard?
> > >
> > > I just sent a few patches to support the creation of Fuego images using separate TCP ports.
> > > They are on the "next" branch of my repository (https://bitbucket.org/nirrognas/) for now.
> > > Could you give them a try?
> > >
> > > Thanks,
> > > Daniel
> > >
> > >
> > > >
> > > > Thanks.
> > > >
> > > >
> > > >
> > > > Regards,
> > > >
> > > > Dhinakar
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMj
> > > E5
> > > >
> > >
> >
> MTM1OTE1ZXBjbXM1cDg4N2Y5ZDQxNjA5N2U2NzIxODNkYWYwN2E5OGU3MzQ4NyZyZWNpcGllbnRBZGRyZ
> > > XNzP
> > > > WZ1ZWdvQGxpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmc_>
> > >
> > >
> > >
> > >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMj
> > I
> > >
> >
> yMDQyNDE3ZXBjbXM1cDVmMzYwMDMwOGIwNWQ0YTRmM2NmMWY4MjQyNTMzM2NlOCZyZWNpcGllbnRBZ
> > > GRyZXNzPWRhbmllbC5zYW5nb3JyaW5AdG9zaGliYS5jby5qcA__>
> >
> >
> >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMj
> I
> >
> yMDU0MDE1ZXBjbXM1cDM1NTNkMWI3MTY1N2IwYzYxMmVmZjU0MTEzY2Q1YTRiOCZyZWNpcGllbnRBZGRyZ
> > XNzPWRhbmllbC5zYW5nb3JyaW5AdG9zaGliYS5jby5qcA__>

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
  2019-02-22  5:57         ` Dhinakar Kalyanasundaram
@ 2019-02-22  6:01           ` daniel.sangorrin
  0 siblings, 0 replies; 41+ messages in thread
From: daniel.sangorrin @ 2019-02-22  6:01 UTC (permalink / raw)
  To: dhinakar.k; +Cc: fuego

> -----Original Message-----
> From: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>
> Subject: RE: RE: RE: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> 
> Sorry for the confusion, your 'patch' on next branch cloned from (git clone -b next
> https://nirrognas@bitbucket.org/nirrognas/fuego-core.git) works fine. I gave port as 8090 for testing purpose
> and able to launch http://107.108.56.134:8090/fuego/ successfully.
> 
> 
> 
> By the way, my manual change also works fine, now the only issue is the failure of 'network benchmark server'.

Great, thanks for testing!

> 
> Thanks.
> 
> 
> 
> Regards,
> 
> Dhinakar
> 
> 
> 
> 
> 
> --------- Original Message ---------
> 
> Sender : daniel.sangorrin@toshiba.co.jp <daniel.sangorrin@toshiba.co.jp>
> 
> Date : 2019-02-22 11:22 (GMT+5:30)
> 
> Title : RE: RE: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> 
> 
> 
> Hi Dhinakar,
> 
> > -----Original Message-----
> > From: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>
> > Sent: Friday, February 22, 2019 2:40 PM
> > To: sangorrin daniel(サンゴリン ダニエル ○SWC□OST) <daniel.sangorrin@toshiba.co.jp>
> > Cc: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>; fuego@lists.linuxfoundation.org
> > Subject: RE: RE: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> >
> > Hi Daniel,
> >
> >
> >
> > It works perfectly fine (working on port 8090) after disabling the Cache.
> 
> Sorry, I am confused. What is working fine?. The next branch, or the manual changes that you did?
> 
> > But as mentioned before if one more instance is started say listening on 8080, network benchmark server fails
> > to start (as shown below).
> > So this port change should also be applied for 'network benchmark server'.
> 
> OK, thanks. Let me investigate and I will answer you.
> 
> Thanks,
> Daniel
> 
> 
> >
> > Thanks.
> >
> >
> >
> >
> dhinakar@userl2:~/fuego$ <mailto:dhinakar@userl2:~/fuego$>  ./fuego-host-scripts/docker-start-containe
> > r.sh docker-container-7thDec2018
> > Starting Fuego container (docker-container-7thDec2018)
> > [sudo] password for dhinakar:
> > [ ok ] Starting Jenkins Continuous Integration Server: jenkins.
> > [FAIL] Starting network benchmark server failed!
> >
> >
> > Regards,
> >
> > Dhinakar
> >
> >
> >
> >
> >
> > --------- Original Message ---------
> >
> > Sender : Dhinakar Kalyanasundaram <dhinakar.k@samsung.com> Staff Engineer/FDS SW /SSIR/Samsung
> > Electronics
> >
> > Date : 2019-02-22 10:32 (GMT+5:30)
> >
> > Title : RE: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> >
> >
> >
> > Yeah sorry, I also just noticed it after sending the email and rerunning the install now with 'Cache' disabled.
> >
> > Thanks for the prompt response.
> >
> >
> >
> > Regards,
> >
> > Dhinakar
> >
> >
> >
> >
> >
> > --------- Original Message ---------
> >
> > Sender : daniel.sangorrin@toshiba.co.jp <daniel.sangorrin@toshiba.co.jp>
> >
> > Date : 2019-02-22 09:59 (GMT+5:30)
> >
> > Title : RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> >
> >
> >
> > > -----Original Message-----
> > > From: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>
> > > Sent: Friday, February 22, 2019 1:24 PM
> > > To: sangorrin daniel(サンゴリン ダニエル ○SWC□OST) <daniel.sangorrin@toshiba.co.jp>
> > > Cc: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>; fuego@lists.linuxfoundation.org
> > > Subject: RE: RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> > >
> > > Hi Daniel,
> > >
> > >
> > >
> > > I tried the your patch on the 'next' branch but it seems Jenkins is still running on 8080 port.
> > >
> > > Please check the log of 'install.sh'
> > >
> > > I want to run Jenkins on port 8090 and if I create and start the container after installing the image, it seems
> > to
> > > be listening on 8080 port.
> > >
> > > In the log also I see that 'Step 24/62 : ARG JENKINS_PORT=8080' even though it says 'Using Port 8090'
> in
> > the
> > > beginning.
> > >
> > > Probably 'ENV JENKINS_PORT=$JENKINS_PORT' is not getting assigned properly.
> > >
> > >
> > >
> > > FYI, cache is already commented in docker-build-image.sh (as shown below),
> > >
> > > #NO_CACHE=--no-cache
> >
> > Sorry, not comment out. Uncomment it.
> >
> > Regards,
> > Daniel
> >
> >
> >
> >
> >
> > >
> > >
> > >
> > > Regards,
> > >
> > > Dhinakar
> > >
> > >
> > >
> > > dhinakar@userl2:~/daniel-fuego/fuego$ <mailto:dhinakar@userl2:~/daniel-fuego/fuego$>  ./install.sh
> > > daniel-fuego-image-20thfeb2019 8090
> > > Using Port 8090
> > > [sudo] password for dhinakar:
> > > Sorry, try again.
> > > [sudo] password for dhinakar:
> > > Sending build context to Docker daemon  557.5MB
> > > Step 1/62 : FROM debian:jessie
> > >  ---> 39db55273026
> > > Step 2/62 : MAINTAINER tim.bird@sony.com <mailto:tim.bird@sony.com>
> > >  ---> Using cache
> > >  ---> 2178f591a2ab
> > > Step 3/62 : ARG HTTP_PROXY
> > >  ---> Using cache
> > >  ---> 1e9470e7996b
> > > Step 4/62 : ENV http_proxy ${HTTP_PROXY}
> > >  ---> Using cache
> > >  ---> 0513bcdd950f
> > > Step 5/62 : ENV https_proxy ${HTTP_PROXY}
> > >  ---> Using cache
> > >  ---> e5f4eaf2230d
> > > Step 6/62 : ARG DEBIAN_FRONTEND=noninteractive
> > >  ---> Using cache
> > >  ---> 07de86ab3f2d
> > > Step 7/62 : WORKDIR /
> > >  ---> Using cache
> > >  ---> 904d9c4a8c26
> > > Step 8/62 : RUN echo deb http://httpredir.debian.org/debian jessie main non-free > /etc/apt/sources.list
> > >  ---> Using cache
> > >  ---> e0b40e49b817
> > > Step 9/62 : RUN echo deb http://httpredir.debian.org/debian jessie-updates main non-free >>
> > > /etc/apt/sources.list
> > >  ---> Using cache
> > >  ---> d03e90662475
> > > Step 10/62 : RUN echo deb http://security.debian.org/ jessie/updates main >> /etc/apt/sources.list
> > >  ---> Using cache
> > >  ---> 6f080c2040a6
> > > Step 11/62 : RUN if [ -n "$HTTP_PROXY" ]; then echo 'Acquire::http::proxy "'$HTTP_PROXY'";' >
> > > /etc/apt/apt.conf.d/80proxy; fi
> > >  ---> Using cache
> > >  ---> 39848694a182
> > > Step 12/62 : RUN apt-get update && apt-get -yV install  apt-utils daemon gcc make cmake
> python-paramiko
> > > python-lxml python-simplejson   python-matplotlib python-serial python-yaml python-openpyxl
> > > python-requests python-reportlab libtool xmlstarlet autoconf automake rsync openjdk-7-jre openjdk-7-jdk
> > > iperf netperf netpipe-tcp sshpass wget git diffstat sudo net-tools vim curl     inotify-tools g++ bzip2 bc
> > libaio-dev
> > > gettext pkg-config libglib2.0-dev     time python-pip python-xmltodict at minicom lzop bsdmainutils
> > > u-boot-tools      mc netcat lava-tool openssh-server python-parsedatetime         libsdl1.2-dev
> > libcairo2-dev
> > > libxmu-dev libxmuu-dev iperf3   bison flex libelf-dev libssl-dev
> > >  ---> Using cache
> > >  ---> 90b01f4de038
> > > Step 13/62 : RUN pip install python-jenkins==0.4.14
> > >  ---> Using cache
> > >  ---> 911629d1ea69
> > > Step 14/62 : RUN pip install filelock
> > >  ---> Using cache
> > >  ---> d11bead1ba4c
> > > Step 15/62 : RUN pip install flake8
> > >  ---> Using cache
> > >  ---> b5082750430c
> > > Step 16/62 : RUN /bin/bash -c 'echo "dash dash/sh boolean false" | debconf-set-selections ;
> dpkg-reconfigure
> > > dash'
> > >  ---> Using cache
> > >  ---> 80f57db54ab4
> > > Step 17/62 : RUN if [ -n "$HTTP_PROXY" ]; then echo "use_proxy = on" >> /etc/wgetrc; fi
> > >  ---> Using cache
> > >  ---> 5ea03342dd30
> > > Step 18/62 : RUN if [ -n "$HTTP_PROXY" ]; then echo -e
> > > "http_proxy=$HTTP_PROXY\nhttps_proxy=$HTTP_PROXY" >> /etc/environment; fi
> > >  ---> Using cache
> > >  ---> 47ff3af11381
> > > Step 19/62 : RUN echo -e "JENKINS_PORT=$JENKINS_PORT" >> /etc/environment
> > >  ---> Using cache
> > >  ---> afd0442a477b
> > > Step 20/62 : ARG user=jenkins
> > >  ---> Using cache
> > >  ---> 9df1b6250a42
> > > Step 21/62 : ARG group=jenkins
> > >  ---> Using cache
> > >  ---> 3f23dd4f668c
> > > Step 22/62 : ARG uid=1000
> > >  ---> Using cache
> > >  ---> e2b2d5de8863
> > > Step 23/62 : ARG gid=${uid}
> > >  ---> Using cache
> > >  ---> ad63a38b1e16
> > > Step 24/62 : ARG JENKINS_PORT=8080
> > >  ---> Using cache
> > >  ---> da215d42e0cb
> > > Step 25/62 : ARG JENKINS_VERSION=2.32.1
> > >  ---> Using cache
> > >  ---> 226358157dd3
> > > Step 26/62 : ARG JENKINS_SHA=bfc226aabe2bb089623772950c4cc13aee613af1
> > >  ---> Using cache
> > >  ---> afa0745e96fb
> > > Step 27/62 : ARG
> > > JENKINS_URL=https://pkg.jenkins.io/debian-stable/binary/jenkins_${JENKINS_VERSION}_all.deb
> > >  ---> Using cache
> > >  ---> 37a1b1882ce6
> > > Step 28/62 : ENV JENKINS_HOME=/var/lib/jenkins
> > >  ---> Using cache
> > >  ---> eab82e41f151
> > > Step 29/62 : ENV JENKINS_PORT=$JENKINS_PORT
> > >  ---> Using cache
> > >  ---> 5073105b96d5
> > > Step 30/62 : RUN getent group ${gid} >/dev/null || groupadd -g ${gid} ${group}
> > >  ---> Using cache
> > >  ---> 6635388e0706
> > > Step 31/62 : RUN useradd -l -m -d "${JENKINS_HOME}" -u ${uid} -g ${gid} -G sudo -s /bin/bash ${user}
> > >  ---> Using cache
> > >  ---> 79480c502ab1
> > > Step 32/62 : RUN wget -nv ${JENKINS_URL}
> > >  ---> Using cache
> > >  ---> d8e49cc590ff
> > > Step 33/62 : RUN echo "${JENKINS_SHA} jenkins_${JENKINS_VERSION}_all.deb" | sha1sum -c -
> > >  ---> Using cache
> > >  ---> c70ff0422e30
> > > Step 34/62 : RUN printf "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d
> > >  ---> Using cache
> > >  ---> c0f2f311661f
> > > Step 35/62 : RUN ls /var/lib/jenkins/plugins || true
> > >  ---> Using cache
> > >  ---> f26ef6ad6135
> > > Step 36/62 : RUN dpkg -i jenkins_${JENKINS_VERSION}_all.deb
> > >  ---> Using cache
> > >  ---> 9721f842955c
> > > Step 37/62 : RUN rm jenkins_${JENKINS_VERSION}_all.deb
> > >  ---> Using cache
> > >  ---> fa0645994a3f
> > > Step 38/62 : RUN ls /var/lib/jenkins/plugins || true
> > >  ---> Using cache
> > >  ---> 8949d2cb1c3b
> > > Step 39/62 : RUN git clone https://github.com/tbird20d/ttc.git /usr/local/src/ttc
> > >  ---> Using cache
> > >  ---> 46752d50d34e
> > > Step 40/62 : RUN /usr/local/src/ttc/install.sh /usr/local/bin
> > >  ---> Using cache
> > >  ---> 08d623801cc9
> > > Step 41/62 : RUN perl -p -i -e "s#config_dir = \"/etc\"#config_dir = \"/fuego-ro/conf\"#"
> /usr/local/bin/ttc
> > >  ---> Using cache
> > >  ---> 4834ec713157
> > > Step 42/62 : RUN /bin/bash -c 'git clone https://github.com/frowand/serio.git /usr/local/src/serio ;
> chown
> > -R
> > > jenkins /usr/local/src/serio ; cp /usr/local/src/serio/serio /usr/local/bin/ ; ln -s /usr/local/bin/serio
> > > /usr/local/bin/sercp ; ln -s /usr/local/bin/serio /usr/local/bin/sersh'
> > >  ---> Using cache
> > >  ---> 1e4f99bee0ae
> > > Step 43/62 : RUN /bin/bash -c 'git clone https://github.com/tbird20d/serlogin.git /usr/local/src/serlogin ;
> > > chown -R jenkins /usr/local/src/serlogin ; cp /usr/local/src/serlogin/serlogin /usr/local/bin'
> > >  ---> Using cache
> > >  ---> 56f84e84f3b8
> > > Step 44/62 : RUN /bin/bash -c 'git clone https://github.com/tbird20d/fserver.git /usr/local/lib/fserver ; ln
> -s
> > > /usr/local/lib/fserver/start_local_bg_server /usr/local/bin/start_local_bg_server'
> > >  ---> Using cache
> > >  ---> 371ed875a557
> > > Step 45/62 : RUN source /etc/default/jenkins &&         JENKINS_ARGS="$JENKINS_ARGS
> > --prefix=/fuego"
> > > &&         sed -i -e "s#JENKINS_ARGS.*#JENKINS_ARGS\=\"${JENKINS_ARGS}\"#g"
> > > /etc/default/jenkins
> > >  ---> Using cache
> > >  ---> 8335752d8102
> > > Step 46/62 : RUN source /etc/default/jenkins &&         JAVA_ARGS="$JAVA_ARGS
> > > -Djenkins.install.runSetupWizard=false" &&        if [ -n "$HTTP_PROXY" ]; then
> > > PROXYSERVER=$(echo $http_proxy | sed -E 's/^http://' | sed -E 's/\///g' | sed -E 's/(.*):(.*)/\1/') &&
> > > PROXYPORT=$(echo $http_proxy | sed -E 's/^http://' | sed -E 's/\///g' | sed -E 's/(.*):(.*)/\2/') &&
> > > JAVA_ARGS="$JAVA_ARGS -Dhttp.proxyHost="${PROXYSERVER}" -Dhttp.proxyPort="${PROXYPORT}"
> > > -Dhttps.proxyHost="${PROXYSERVER}" -Dhttps.proxyPort="${PROXYPORT};         fi &&   sed -i -e
> > > "s#^JAVA_ARGS.*#JAVA_ARGS\=\"${JAVA_ARGS}\"#g" /etc/default/jenkins;
> > >  ---> Using cache
> > >  ---> 537422269297
> > > Step 47/62 : RUN sed -i -e "s#8080#$JENKINS_PORT#g" /etc/default/jenkins
> > >  ---> Using cache
> > >  ---> 7a4ab3d2bf82
> > > Step 48/62 : COPY frontend-install/plugins/flot-plotter-plugin/flot.hpi /tmp
> > >  ---> Using cache
> > >  ---> c713ddd52f86
> > > Step 49/62 : COPY frontend-install/install-plugins.sh     frontend-install/jenkins-support
> > > frontend-install/clitest     /usr/local/bin/
> > >  ---> Using cache
> > >  ---> f220a8cbe4c9
> > > Step 50/62 : RUN service jenkins start &&       sleep 30 &&     sudo -u jenkins java -jar
> > > /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:$JENKINS_PORT/fuego install-plugin
> > > /tmp/flot.hpi &&     sleep 10 &&     service jenkins stop
> > >  ---> Using cache
> > >  ---> 0d9ec9a1db38
> > > Step 51/62 : RUN /usr/local/bin/install-plugins.sh ant:1.7     bouncycastle-api:2.16.2
> > > description-setter:1.10     display-url-api:2.1.0     external-monitor-job:1.7     greenballs:1.15
> > > icon-shim:2.0.3     javadoc:1.4     junit:1.21     ldap:1.17     mailer:1.20     matrix-auth:1.7
> > > matrix-project:1.12     antisamy-markup-formatter:1.5     pam-auth:1.3     pegdown-formatter:1.3
> > > script-security:1.35     structs:1.10     windows-slaves:1.3.1
> > >  ---> Using cache
> > >  ---> 256294d5b07b
> > > Step 52/62 : RUN service jenkins start && sleep 30 &&     rm $JENKINS_HOME/plugins/flot/flot/mod.js
> &&
> > > ln -s /fuego-core/scripts/mod.js $JENKINS_HOME/plugins/flot/flot/mod.js
> > >  ---> Using cache
> > >  ---> af027ed0f4df
> > > Step 53/62 : RUN ln -s /fuego-rw/logs $JENKINS_HOME/userContent/fuego.logs
> > >  ---> Using cache
> > >  ---> bbfe85893379
> > > Step 54/62 : COPY docs/fuego-docs.pdf $JENKINS_HOME/userContent/docs/fuego-docs.pdf
> > >  ---> Using cache
> > >  ---> d5958a27fc41
> > > Step 55/62 : RUN ln -s /fuego-core/scripts/ftc /usr/local/bin/
> > >  ---> Using cache
> > >  ---> 461f56c640b3
> > > Step 56/62 : COPY frontend-install/config.xml $JENKINS_HOME/config.xml
> > >  ---> Using cache
> > >  ---> 499ebdd37e05
> > > Step 57/62 : COPY frontend-install/jenkins.model.JenkinsLocationConfiguration.xml
> > > $JENKINS_HOME/jenkins.model.JenkinsLocationConfiguration.xml
> > >  ---> Using cache
> > >  ---> b12062a58596
> > > Step 58/62 : RUN sed -i -e "s#8080#$JENKINS_PORT#g"
> > > $JENKINS_HOME/jenkins.model.JenkinsLocationConfiguration.xml
> > >  ---> Using cache
> > >  ---> 73430b1dc0dd
> > > Step 59/62 : RUN chown -R jenkins:jenkins $JENKINS_HOME/
> > >  ---> Using cache
> > >  ---> b15723367b05
> > > Step 60/62 : RUN ln -s /fuego-ro/scripts/fuego-lava-target-setup /usr/local/bin
> > >  ---> Using cache
> > >  ---> 92e39aa956d2
> > > Step 61/62 : RUN ln -s /fuego-ro/scripts/fuego-lava-target-teardown /usr/local/bin
> > >  ---> Using cache
> > >  ---> bbadc989e914
> > > Step 62/62 : ENTRYPOINT service jenkins start && service netperf start && iperf3 -V -s -D -f M && /bin/bash
> > >  ---> Using cache
> > >  ---> 574ebf64383a
> > > Successfully built 574ebf64383a
> > > Successfully tagged daniel-fuego-image-20thfeb2019:latest
> > > Error response from daemon: Conflict. The container name "/daniel-fuego-image-20thfeb2019-container"
> is
> > > already in use by container
> > "a3645ed463ebd70fe1fa0bed88c873c98d1aa863a4dc4773c87296b0a13011e3".
> > > You have to remove (or rename) that container to be able to reuse that name.
> > > Could not create fuego-container. See error messages.
> > > Docker container 'daniel-fuego-image-20thfeb2019-container' is ready with Fuego installation.
> > > To start, run: ./start.sh daniel-fuego-image-20thfeb2019-container
> > >
> > >
> > > Regards,
> > >
> > > Dhinakar
> > >
> > >
> > >
> > >
> > >
> > > --------- Original Message ---------
> > >
> > > Sender : daniel.sangorrin@toshiba.co.jp <daniel.sangorrin@toshiba.co.jp>
> > >
> > > Date : 2019-02-20 12:33 (GMT+5:30)
> > >
> > > Title : RE: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
> > >
> > >
> > >
> > > Hello Dhinakar,
> > >
> > > > From: fuego-bounces@lists.linuxfoundation.org <fuego-bounces@lists.linuxfoundation.org> On Behalf
> Of
> > > > Dhinakar Kalyanasundaram
> > > > Sent: Tuesday, February 19, 2019 10:59 PM
> > >  > Dear Fuego Users,
> > > >
> > > >
> > > >
> > > > I want to run multiple instances of fuego (in one powerful server) to cater to different projects (which need
> > to
> > > be kept
> > > > separate for security).
> > > >
> > > > In this regard I thought I can assign a unique port for each instance, for e.g. 8080 -> Project1, 8081 ->
> > > Project2 etc.
> > > >
> > > > If there is any other better way to achieve the objective please let me know.
> > > >
> > > > I modified all occurrences of port 8080 to 8082 under fuego (Dockerfile, ftc, common.sh etc.) &
> fuego-core
> > > > directories in my existing installation.
> > > >
> > > > Recreated the container -> ./fuego-host-scripts/docker-create-usb-privileged-container.sh
> > > > containerbackup-15thfeb2019 container-19thfeb2019
> > > >
> > > > And Started it -> ./fuego-host-scripts/docker-start-container.sh container-19thfeb2019
> > > >
> > > > But it is still running on port 8080 only.
> > > >
> > > > The 'containerbackup-15thfeb2019' image that I used to create the new container was running on port
> > 8080,
> > > could
> > > > it be because of it?
> > > >
> > > > I thought if I make changes in 'fuego', 'fuego-core' directories and recreate the container & start, it should
> > > listen on
> > > > port 8082.
> > > >
> > > > Should I create a new image after the modification and then create a container and start?
> > > >
> > > > Can someone help in this regard?
> > >
> > > I just sent a few patches to support the creation of Fuego images using separate TCP ports.
> > > They are on the "next" branch of my repository (https://bitbucket.org/nirrognas/) for now.
> > > Could you give them a try?
> > >
> > > Thanks,
> > > Daniel
> > >
> > >
> > > >
> > > > Thanks.
> > > >
> > > >
> > > >
> > > > Regards,
> > > >
> > > > Dhinakar
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMj
> > > E5
> > > >
> > >
> >
> MTM1OTE1ZXBjbXM1cDg4N2Y5ZDQxNjA5N2U2NzIxODNkYWYwN2E5OGU3MzQ4NyZyZWNpcGllbnRBZGRyZ
> > > XNzP
> > > > WZ1ZWdvQGxpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmc_>
> > >
> > >
> > >
> > >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMj
> > I
> > >
> >
> yMDQyNDE3ZXBjbXM1cDVmMzYwMDMwOGIwNWQ0YTRmM2NmMWY4MjQyNTMzM2NlOCZyZWNpcGllbnRBZ
> > > GRyZXNzPWRhbmllbC5zYW5nb3JyaW5AdG9zaGliYS5jby5qcA__>
> >
> >
> >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMj
> I
> >
> yMDU0MDE1ZXBjbXM1cDM1NTNkMWI3MTY1N2IwYzYxMmVmZjU0MTEzY2Q1YTRiOCZyZWNpcGllbnRBZGRyZ
> > XNzPWRhbmllbC5zYW5nb3JyaW5AdG9zaGliYS5jby5qcA__>
> 
> 
> 
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhinakar.k&do=bWFpbElEPTIwMTkwMjI
> yMDU1NzE5ZXBjbXM1cDdiZDNjNGU4YmY0MWUzY2MxZTBhMmZlMTA2YmFhYzAxYiZyZWNpcGllbnRBZGRyZX
> NzPWRhbmllbC5zYW5nb3JyaW5AdG9zaGliYS5jby5qcA__>

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
       [not found]   ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p8>
  2019-02-19 13:59     ` [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082) Dhinakar Kalyanasundaram
  2019-02-20 14:22     ` Dhinakar Kalyanasundaram
@ 2019-02-22  6:02     ` Dhinakar Kalyanasundaram
  2019-02-22  6:04     ` Dhinakar Kalyanasundaram
  2019-03-20 10:28     ` [Fuego] Need to see logs real-time on the console when target board is connected via serial port Dhinakar Kalyanasundaram
  4 siblings, 0 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-02-22  6:02 UTC (permalink / raw)
  To: daniel.sangorrin, Dhinakar Kalyanasundaram; +Cc: fuego

[-- Attachment #1: Type: text/html, Size: 26399 bytes --]

[-- Attachment #2: 201602111742151_N3WZA6X7.png --]
[-- Type: image/png, Size: 33527 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
       [not found]   ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p8>
                       ` (2 preceding siblings ...)
  2019-02-22  6:02     ` [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082) Dhinakar Kalyanasundaram
@ 2019-02-22  6:04     ` Dhinakar Kalyanasundaram
  2019-03-20 10:28     ` [Fuego] Need to see logs real-time on the console when target board is connected via serial port Dhinakar Kalyanasundaram
  4 siblings, 0 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-02-22  6:04 UTC (permalink / raw)
  To: daniel.sangorrin; +Cc: fuego

[-- Attachment #1: Type: text/html, Size: 26810 bytes --]

[-- Attachment #2: 201602111742151_N3WZA6X7.png --]
[-- Type: image/png, Size: 33527 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
  2019-02-22  5:57                 ` daniel.sangorrin
@ 2019-02-27  2:47                   ` Tim.Bird
  0 siblings, 0 replies; 41+ messages in thread
From: Tim.Bird @ 2019-02-27  2:47 UTC (permalink / raw)
  To: daniel.sangorrin, dhinakar.k; +Cc: fuego



> -----Original Message-----
> From: daniel.sangorrin@toshiba.co.jp
> Hi Dhinakar,
> 
> > [FAIL] Starting network benchmark server failed!
> 
> This failure is normal, because you are trying to start a netperf server on two
> containers at the same time and only one can serve that port. Given that the
> netperf tests do not specify the port I think that you can safely ignore the fail
> message because the target will connect to whatever netperf server is
> available.
The usual reason for the failure is that the netperf server is already running
on the host.  This is actually a bit strange, IMHO, as most hosts will not be running
netperf tests on other machines against themselves.  So this seems rather
strange to default this service to 'on' on most desktop distributions of Linux.

However, the upshot of all this is that the most common scenario is that there
is a netperf server available, and the tests will run OK.  I usually ignore this.
(However, in my own scripts that start containers I usually check if the netperf
server is running on the host and stop it, to avoid this error.)

> 
> Actually, the idea of running netperf on the docker container is quite hacky
> itself.

The mechanism here for managing the netperf server is indeed a bit hacky.

The philosophy is as follows:  The Fuego docker container is intended to have
all required elements (outside the DUT) for performing tests.  netperf is usually configured
with a single server, and it's appropriate for the docker container to have a netperf
server already configured for use by tests.  However, there really should be a mechanism
for managing access to that server, and we're creeping up on it with the 'ftc reserve-resource'
and 'ftc release-resource' functionality.  The reason it's not finished yet is that you need to
couple this with job scheduling, and that hasn't been added to ftc (or Fuego in general).  We use
Jenkins to schedule the boards (or maybe LAVA), but when dealing with off-board services,
those should be scheduled along with the board.

In any event, hopefully generic resource scheduling will get added to Fuego soon.
Then the netperf server could reside anywhere in the lab (in the container, on the host,
or on another LAB machine or DUT), and it could get scheduled and utilized by Fuego during
testing.

 -- Tim


> > -----Original Message-----
> > From: sangorrin daniel(サンゴリン ダニエル ○SWC□OST)
> > Sent: Friday, February 22, 2019 2:52 PM
> > To: dhinakar.k@samsung.com
> > Cc: fuego@lists.linuxfoundation.org
> > Subject: RE: RE: RE: RE: [Fuego] Regarding changing jenkins service port
> change (from 8080 -> 8082)
> >
> > Hi Dhinakar,
> >
> > > -----Original Message-----
> > > From: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>
> > > Sent: Friday, February 22, 2019 2:40 PM
> > > To: sangorrin daniel(サンゴリン ダニエル ○SWC□OST)
> <daniel.sangorrin@toshiba.co.jp>
> > > Cc: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>;
> fuego@lists.linuxfoundation.org
> > > Subject: RE: RE: RE: RE: [Fuego] Regarding changing jenkins service port
> change (from 8080 -> 8082)
> > >
> > > Hi Daniel,
> > >
> > >
> > >
> > > It works perfectly fine (working on port 8090) after disabling the Cache.
> >
> > Sorry, I am confused. What is working fine?. The next branch, or the
> manual changes that you did?
> >
> > > But as mentioned before if one more instance is started say listening on
> 8080, network benchmark server fails
> > > to start (as shown below).
> > > So this port change should also be applied for 'network benchmark
> server'.
> >
> > OK, thanks. Let me investigate and I will answer you.
> >
> > Thanks,
> > Daniel
> >
> >
> > >
> > > Thanks.
> > >
> > >
> > >
> > >
> > dhinakar@userl2:~/fuego$ <mailto:dhinakar@userl2:~/fuego$>  ./fuego-
> host-scripts/docker-start-containe
> > > r.sh docker-container-7thDec2018
> > > Starting Fuego container (docker-container-7thDec2018)
> > > [sudo] password for dhinakar:
> > > [ ok ] Starting Jenkins Continuous Integration Server: jenkins.
> > > [FAIL] Starting network benchmark server failed!
> > >
> > >
> > > Regards,
> > >
> > > Dhinakar
> > >
> > >
> > >
> > >
> > >
> > > --------- Original Message ---------
> > >
> > > Sender : Dhinakar Kalyanasundaram <dhinakar.k@samsung.com> Staff
> Engineer/FDS SW /SSIR/Samsung
> > > Electronics
> > >
> > > Date : 2019-02-22 10:32 (GMT+5:30)
> > >
> > > Title : RE: RE: RE: [Fuego] Regarding changing jenkins service port change
> (from 8080 -> 8082)
> > >
> > >
> > >
> > > Yeah sorry, I also just noticed it after sending the email and rerunning the
> install now with 'Cache' disabled.
> > >
> > > Thanks for the prompt response.
> > >
> > >
> > >
> > > Regards,
> > >
> > > Dhinakar
> > >
> > >
> > >
> > >
> > >
> > > --------- Original Message ---------
> > >
> > > Sender : daniel.sangorrin@toshiba.co.jp
> <daniel.sangorrin@toshiba.co.jp>
> > >
> > > Date : 2019-02-22 09:59 (GMT+5:30)
> > >
> > > Title : RE: RE: [Fuego] Regarding changing jenkins service port change
> (from 8080 -> 8082)
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>
> > > > Sent: Friday, February 22, 2019 1:24 PM
> > > > To: sangorrin daniel(サンゴリン ダニエル ○SWC□OST)
> <daniel.sangorrin@toshiba.co.jp>
> > > > Cc: Dhinakar Kalyanasundaram <dhinakar.k@samsung.com>;
> fuego@lists.linuxfoundation.org
> > > > Subject: RE: RE: [Fuego] Regarding changing jenkins service port change
> (from 8080 -> 8082)
> > > >
> > > > Hi Daniel,
> > > >
> > > >
> > > >
> > > > I tried the your patch on the 'next' branch but it seems Jenkins is still
> running on 8080 port.
> > > >
> > > > Please check the log of 'install.sh'
> > > >
> > > > I want to run Jenkins on port 8090 and if I create and start the container
> after installing the image, it seems
> > > to
> > > > be listening on 8080 port.
> > > >
> > > > In the log also I see that 'Step 24/62 : ARG JENKINS_PORT=8080' even
> though it says 'Using Port 8090'
> > in
> > > the
> > > > beginning.
> > > >
> > > > Probably 'ENV JENKINS_PORT=$JENKINS_PORT' is not getting assigned
> properly.
> > > >
> > > >
> > > >
> > > > FYI, cache is already commented in docker-build-image.sh (as shown
> below),
> > > >
> > > > #NO_CACHE=--no-cache
> > >
> > > Sorry, not comment out. Uncomment it.
> > >
> > > Regards,
> > > Daniel
> > >
> > >
> > >
> > >
> > >
> > > >
> > > >
> > > >
> > > > Regards,
> > > >
> > > > Dhinakar
> > > >
> > > >
> > > >
> > > > dhinakar@userl2:~/daniel-fuego/fuego$
> <mailto:dhinakar@userl2:~/daniel-fuego/fuego$>  ./install.sh
> > > > daniel-fuego-image-20thfeb2019 8090
> > > > Using Port 8090
> > > > [sudo] password for dhinakar:
> > > > Sorry, try again.
> > > > [sudo] password for dhinakar:
> > > > Sending build context to Docker daemon  557.5MB
> > > > Step 1/62 : FROM debian:jessie
> > > >  ---> 39db55273026
> > > > Step 2/62 : MAINTAINER tim.bird@sony.com
> <mailto:tim.bird@sony.com>
> > > >  ---> Using cache
> > > >  ---> 2178f591a2ab
> > > > Step 3/62 : ARG HTTP_PROXY
> > > >  ---> Using cache
> > > >  ---> 1e9470e7996b
> > > > Step 4/62 : ENV http_proxy ${HTTP_PROXY}
> > > >  ---> Using cache
> > > >  ---> 0513bcdd950f
> > > > Step 5/62 : ENV https_proxy ${HTTP_PROXY}
> > > >  ---> Using cache
> > > >  ---> e5f4eaf2230d
> > > > Step 6/62 : ARG DEBIAN_FRONTEND=noninteractive
> > > >  ---> Using cache
> > > >  ---> 07de86ab3f2d
> > > > Step 7/62 : WORKDIR /
> > > >  ---> Using cache
> > > >  ---> 904d9c4a8c26
> > > > Step 8/62 : RUN echo deb http://httpredir.debian.org/debian jessie
> main non-free > /etc/apt/sources.list
> > > >  ---> Using cache
> > > >  ---> e0b40e49b817
> > > > Step 9/62 : RUN echo deb http://httpredir.debian.org/debian jessie-
> updates main non-free >>
> > > > /etc/apt/sources.list
> > > >  ---> Using cache
> > > >  ---> d03e90662475
> > > > Step 10/62 : RUN echo deb http://security.debian.org/ jessie/updates
> main >> /etc/apt/sources.list
> > > >  ---> Using cache
> > > >  ---> 6f080c2040a6
> > > > Step 11/62 : RUN if [ -n "$HTTP_PROXY" ]; then echo
> 'Acquire::http::proxy "'$HTTP_PROXY'";' >
> > > > /etc/apt/apt.conf.d/80proxy; fi
> > > >  ---> Using cache
> > > >  ---> 39848694a182
> > > > Step 12/62 : RUN apt-get update && apt-get -yV install  apt-utils
> daemon gcc make cmake
> > python-paramiko
> > > > python-lxml python-simplejson   python-matplotlib python-serial
> python-yaml python-openpyxl
> > > > python-requests python-reportlab libtool xmlstarlet autoconf
> automake rsync openjdk-7-jre openjdk-7-jdk
> > > > iperf netperf netpipe-tcp sshpass wget git diffstat sudo net-tools vim
> curl     inotify-tools g++ bzip2 bc
> > > libaio-dev
> > > > gettext pkg-config libglib2.0-dev     time python-pip python-xmltodict at
> minicom lzop bsdmainutils
> > > > u-boot-tools      mc netcat lava-tool openssh-server python-
> parsedatetime         libsdl1.2-dev
> > > libcairo2-dev
> > > > libxmu-dev libxmuu-dev iperf3   bison flex libelf-dev libssl-dev
> > > >  ---> Using cache
> > > >  ---> 90b01f4de038
> > > > Step 13/62 : RUN pip install python-jenkins==0.4.14
> > > >  ---> Using cache
> > > >  ---> 911629d1ea69
> > > > Step 14/62 : RUN pip install filelock
> > > >  ---> Using cache
> > > >  ---> d11bead1ba4c
> > > > Step 15/62 : RUN pip install flake8
> > > >  ---> Using cache
> > > >  ---> b5082750430c
> > > > Step 16/62 : RUN /bin/bash -c 'echo "dash dash/sh boolean false" |
> debconf-set-selections ;
> > dpkg-reconfigure
> > > > dash'
> > > >  ---> Using cache
> > > >  ---> 80f57db54ab4
> > > > Step 17/62 : RUN if [ -n "$HTTP_PROXY" ]; then echo "use_proxy = on"
> >> /etc/wgetrc; fi
> > > >  ---> Using cache
> > > >  ---> 5ea03342dd30
> > > > Step 18/62 : RUN if [ -n "$HTTP_PROXY" ]; then echo -e
> > > > "http_proxy=$HTTP_PROXY\nhttps_proxy=$HTTP_PROXY" >>
> /etc/environment; fi
> > > >  ---> Using cache
> > > >  ---> 47ff3af11381
> > > > Step 19/62 : RUN echo -e "JENKINS_PORT=$JENKINS_PORT" >>
> /etc/environment
> > > >  ---> Using cache
> > > >  ---> afd0442a477b
> > > > Step 20/62 : ARG user=jenkins
> > > >  ---> Using cache
> > > >  ---> 9df1b6250a42
> > > > Step 21/62 : ARG group=jenkins
> > > >  ---> Using cache
> > > >  ---> 3f23dd4f668c
> > > > Step 22/62 : ARG uid=1000
> > > >  ---> Using cache
> > > >  ---> e2b2d5de8863
> > > > Step 23/62 : ARG gid=${uid}
> > > >  ---> Using cache
> > > >  ---> ad63a38b1e16
> > > > Step 24/62 : ARG JENKINS_PORT=8080
> > > >  ---> Using cache
> > > >  ---> da215d42e0cb
> > > > Step 25/62 : ARG JENKINS_VERSION=2.32.1
> > > >  ---> Using cache
> > > >  ---> 226358157dd3
> > > > Step 26/62 : ARG
> JENKINS_SHA=bfc226aabe2bb089623772950c4cc13aee613af1
> > > >  ---> Using cache
> > > >  ---> afa0745e96fb
> > > > Step 27/62 : ARG
> > > > JENKINS_URL=https://pkg.jenkins.io/debian-
> stable/binary/jenkins_${JENKINS_VERSION}_all.deb
> > > >  ---> Using cache
> > > >  ---> 37a1b1882ce6
> > > > Step 28/62 : ENV JENKINS_HOME=/var/lib/jenkins
> > > >  ---> Using cache
> > > >  ---> eab82e41f151
> > > > Step 29/62 : ENV JENKINS_PORT=$JENKINS_PORT
> > > >  ---> Using cache
> > > >  ---> 5073105b96d5
> > > > Step 30/62 : RUN getent group ${gid} >/dev/null || groupadd -g ${gid}
> ${group}
> > > >  ---> Using cache
> > > >  ---> 6635388e0706
> > > > Step 31/62 : RUN useradd -l -m -d "${JENKINS_HOME}" -u ${uid} -g
> ${gid} -G sudo -s /bin/bash ${user}
> > > >  ---> Using cache
> > > >  ---> 79480c502ab1
> > > > Step 32/62 : RUN wget -nv ${JENKINS_URL}
> > > >  ---> Using cache
> > > >  ---> d8e49cc590ff
> > > > Step 33/62 : RUN echo "${JENKINS_SHA}
> jenkins_${JENKINS_VERSION}_all.deb" | sha1sum -c -
> > > >  ---> Using cache
> > > >  ---> c70ff0422e30
> > > > Step 34/62 : RUN printf "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d
> > > >  ---> Using cache
> > > >  ---> c0f2f311661f
> > > > Step 35/62 : RUN ls /var/lib/jenkins/plugins || true
> > > >  ---> Using cache
> > > >  ---> f26ef6ad6135
> > > > Step 36/62 : RUN dpkg -i jenkins_${JENKINS_VERSION}_all.deb
> > > >  ---> Using cache
> > > >  ---> 9721f842955c
> > > > Step 37/62 : RUN rm jenkins_${JENKINS_VERSION}_all.deb
> > > >  ---> Using cache
> > > >  ---> fa0645994a3f
> > > > Step 38/62 : RUN ls /var/lib/jenkins/plugins || true
> > > >  ---> Using cache
> > > >  ---> 8949d2cb1c3b
> > > > Step 39/62 : RUN git clone https://github.com/tbird20d/ttc.git
> /usr/local/src/ttc
> > > >  ---> Using cache
> > > >  ---> 46752d50d34e
> > > > Step 40/62 : RUN /usr/local/src/ttc/install.sh /usr/local/bin
> > > >  ---> Using cache
> > > >  ---> 08d623801cc9
> > > > Step 41/62 : RUN perl -p -i -e "s#config_dir = \"/etc\"#config_dir =
> \"/fuego-ro/conf\"#"
> > /usr/local/bin/ttc
> > > >  ---> Using cache
> > > >  ---> 4834ec713157
> > > > Step 42/62 : RUN /bin/bash -c 'git clone
> https://github.com/frowand/serio.git /usr/local/src/serio ;
> > chown
> > > -R
> > > > jenkins /usr/local/src/serio ; cp /usr/local/src/serio/serio /usr/local/bin/
> ; ln -s /usr/local/bin/serio
> > > > /usr/local/bin/sercp ; ln -s /usr/local/bin/serio /usr/local/bin/sersh'
> > > >  ---> Using cache
> > > >  ---> 1e4f99bee0ae
> > > > Step 43/62 : RUN /bin/bash -c 'git clone
> https://github.com/tbird20d/serlogin.git /usr/local/src/serlogin ;
> > > > chown -R jenkins /usr/local/src/serlogin ; cp
> /usr/local/src/serlogin/serlogin /usr/local/bin'
> > > >  ---> Using cache
> > > >  ---> 56f84e84f3b8
> > > > Step 44/62 : RUN /bin/bash -c 'git clone
> https://github.com/tbird20d/fserver.git /usr/local/lib/fserver ; ln
> > -s
> > > > /usr/local/lib/fserver/start_local_bg_server
> /usr/local/bin/start_local_bg_server'
> > > >  ---> Using cache
> > > >  ---> 371ed875a557
> > > > Step 45/62 : RUN source /etc/default/jenkins &&
> JENKINS_ARGS="$JENKINS_ARGS
> > > --prefix=/fuego"
> > > > &&         sed -i -e
> "s#JENKINS_ARGS.*#JENKINS_ARGS\=\"${JENKINS_ARGS}\"#g"
> > > > /etc/default/jenkins
> > > >  ---> Using cache
> > > >  ---> 8335752d8102
> > > > Step 46/62 : RUN source /etc/default/jenkins &&
> JAVA_ARGS="$JAVA_ARGS
> > > > -Djenkins.install.runSetupWizard=false" &&        if [ -n "$HTTP_PROXY" ];
> then
> > > > PROXYSERVER=$(echo $http_proxy | sed -E 's/^http://' | sed -E
> 's/\///g' | sed -E 's/(.*):(.*)/\1/') &&
> > > > PROXYPORT=$(echo $http_proxy | sed -E 's/^http://' | sed -E 's/\///g' |
> sed -E 's/(.*):(.*)/\2/') &&
> > > > JAVA_ARGS="$JAVA_ARGS -Dhttp.proxyHost="${PROXYSERVER}" -
> Dhttp.proxyPort="${PROXYPORT}"
> > > > -Dhttps.proxyHost="${PROXYSERVER}" -
> Dhttps.proxyPort="${PROXYPORT};         fi &&   sed -i -e
> > > > "s#^JAVA_ARGS.*#JAVA_ARGS\=\"${JAVA_ARGS}\"#g"
> /etc/default/jenkins;
> > > >  ---> Using cache
> > > >  ---> 537422269297
> > > > Step 47/62 : RUN sed -i -e "s#8080#$JENKINS_PORT#g"
> /etc/default/jenkins
> > > >  ---> Using cache
> > > >  ---> 7a4ab3d2bf82
> > > > Step 48/62 : COPY frontend-install/plugins/flot-plotter-plugin/flot.hpi
> /tmp
> > > >  ---> Using cache
> > > >  ---> c713ddd52f86
> > > > Step 49/62 : COPY frontend-install/install-plugins.sh     frontend-
> install/jenkins-support
> > > > frontend-install/clitest     /usr/local/bin/
> > > >  ---> Using cache
> > > >  ---> f220a8cbe4c9
> > > > Step 50/62 : RUN service jenkins start &&       sleep 30 &&     sudo -u
> jenkins java -jar
> > > > /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s
> http://localhost:$JENKINS_PORT/fuego install-plugin
> > > > /tmp/flot.hpi &&     sleep 10 &&     service jenkins stop
> > > >  ---> Using cache
> > > >  ---> 0d9ec9a1db38
> > > > Step 51/62 : RUN /usr/local/bin/install-plugins.sh ant:1.7
> bouncycastle-api:2.16.2
> > > > description-setter:1.10     display-url-api:2.1.0     external-monitor-
> job:1.7     greenballs:1.15
> > > > icon-shim:2.0.3     javadoc:1.4     junit:1.21     ldap:1.17     mailer:1.20
> matrix-auth:1.7
> > > > matrix-project:1.12     antisamy-markup-formatter:1.5     pam-auth:1.3
> pegdown-formatter:1.3
> > > > script-security:1.35     structs:1.10     windows-slaves:1.3.1
> > > >  ---> Using cache
> > > >  ---> 256294d5b07b
> > > > Step 52/62 : RUN service jenkins start && sleep 30 &&     rm
> $JENKINS_HOME/plugins/flot/flot/mod.js
> > &&
> > > > ln -s /fuego-core/scripts/mod.js
> $JENKINS_HOME/plugins/flot/flot/mod.js
> > > >  ---> Using cache
> > > >  ---> af027ed0f4df
> > > > Step 53/62 : RUN ln -s /fuego-rw/logs
> $JENKINS_HOME/userContent/fuego.logs
> > > >  ---> Using cache
> > > >  ---> bbfe85893379
> > > > Step 54/62 : COPY docs/fuego-docs.pdf
> $JENKINS_HOME/userContent/docs/fuego-docs.pdf
> > > >  ---> Using cache
> > > >  ---> d5958a27fc41
> > > > Step 55/62 : RUN ln -s /fuego-core/scripts/ftc /usr/local/bin/
> > > >  ---> Using cache
> > > >  ---> 461f56c640b3
> > > > Step 56/62 : COPY frontend-install/config.xml
> $JENKINS_HOME/config.xml
> > > >  ---> Using cache
> > > >  ---> 499ebdd37e05
> > > > Step 57/62 : COPY frontend-
> install/jenkins.model.JenkinsLocationConfiguration.xml
> > > > $JENKINS_HOME/jenkins.model.JenkinsLocationConfiguration.xml
> > > >  ---> Using cache
> > > >  ---> b12062a58596
> > > > Step 58/62 : RUN sed -i -e "s#8080#$JENKINS_PORT#g"
> > > > $JENKINS_HOME/jenkins.model.JenkinsLocationConfiguration.xml
> > > >  ---> Using cache
> > > >  ---> 73430b1dc0dd
> > > > Step 59/62 : RUN chown -R jenkins:jenkins $JENKINS_HOME/
> > > >  ---> Using cache
> > > >  ---> b15723367b05
> > > > Step 60/62 : RUN ln -s /fuego-ro/scripts/fuego-lava-target-setup
> /usr/local/bin
> > > >  ---> Using cache
> > > >  ---> 92e39aa956d2
> > > > Step 61/62 : RUN ln -s /fuego-ro/scripts/fuego-lava-target-teardown
> /usr/local/bin
> > > >  ---> Using cache
> > > >  ---> bbadc989e914
> > > > Step 62/62 : ENTRYPOINT service jenkins start && service netperf start
> && iperf3 -V -s -D -f M && /bin/bash
> > > >  ---> Using cache
> > > >  ---> 574ebf64383a
> > > > Successfully built 574ebf64383a
> > > > Successfully tagged daniel-fuego-image-20thfeb2019:latest
> > > > Error response from daemon: Conflict. The container name "/daniel-
> fuego-image-20thfeb2019-container"
> > is
> > > > already in use by container
> > >
> "a3645ed463ebd70fe1fa0bed88c873c98d1aa863a4dc4773c87296b0a13011e3".
> > > > You have to remove (or rename) that container to be able to reuse that
> name.
> > > > Could not create fuego-container. See error messages.
> > > > Docker container 'daniel-fuego-image-20thfeb2019-container' is ready
> with Fuego installation.
> > > > To start, run: ./start.sh daniel-fuego-image-20thfeb2019-container
> > > >
> > > >
> > > > Regards,
> > > >
> > > > Dhinakar
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > --------- Original Message ---------
> > > >
> > > > Sender : daniel.sangorrin@toshiba.co.jp
> <daniel.sangorrin@toshiba.co.jp>
> > > >
> > > > Date : 2019-02-20 12:33 (GMT+5:30)
> > > >
> > > > Title : RE: [Fuego] Regarding changing jenkins service port change (from
> 8080 -> 8082)
> > > >
> > > >
> > > >
> > > > Hello Dhinakar,
> > > >
> > > > > From: fuego-bounces@lists.linuxfoundation.org <fuego-
> bounces@lists.linuxfoundation.org> On Behalf
> > Of
> > > > > Dhinakar Kalyanasundaram
> > > > > Sent: Tuesday, February 19, 2019 10:59 PM
> > > >  > Dear Fuego Users,
> > > > >
> > > > >
> > > > >
> > > > > I want to run multiple instances of fuego (in one powerful server) to
> cater to different projects (which need
> > > to
> > > > be kept
> > > > > separate for security).
> > > > >
> > > > > In this regard I thought I can assign a unique port for each instance,
> for e.g. 8080 -> Project1, 8081 ->
> > > > Project2 etc.
> > > > >
> > > > > If there is any other better way to achieve the objective please let me
> know.
> > > > >
> > > > > I modified all occurrences of port 8080 to 8082 under fuego
> (Dockerfile, ftc, common.sh etc.) &
> > fuego-core
> > > > > directories in my existing installation.
> > > > >
> > > > > Recreated the container -> ./fuego-host-scripts/docker-create-usb-
> privileged-container.sh
> > > > > containerbackup-15thfeb2019 container-19thfeb2019
> > > > >
> > > > > And Started it -> ./fuego-host-scripts/docker-start-container.sh
> container-19thfeb2019
> > > > >
> > > > > But it is still running on port 8080 only.
> > > > >
> > > > > The 'containerbackup-15thfeb2019' image that I used to create the
> new container was running on port
> > > 8080,
> > > > could
> > > > > it be because of it?
> > > > >
> > > > > I thought if I make changes in 'fuego', 'fuego-core' directories and
> recreate the container & start, it should
> > > > listen on
> > > > > port 8082.
> > > > >
> > > > > Should I create a new image after the modification and then create a
> container and start?
> > > > >
> > > > > Can someone help in this regard?
> > > >
> > > > I just sent a few patches to support the creation of Fuego images using
> separate TCP ports.
> > > > They are on the "next" branch of my repository
> (https://bitbucket.org/nirrognas/) for now.
> > > > Could you give them a try?
> > > >
> > > > Thanks,
> > > > Daniel
> > > >
> > > >
> > > > >
> > > > > Thanks.
> > > > >
> > > > >
> > > > >
> > > > > Regards,
> > > > >
> > > > > Dhinakar
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhina
> kar.k&do=bWFpbElEPTIwMTkwMj
> > > > E5
> > > > >
> > > >
> > >
> >
> MTM1OTE1ZXBjbXM1cDg4N2Y5ZDQxNjA5N2U2NzIxODNkYWYwN2E5OGU3
> MzQ4NyZyZWNpcGllbnRBZGRyZ
> > > > XNzP
> > > > > WZ1ZWdvQGxpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmc_>
> > > >
> > > >
> > > >
> > > >
> > >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhina
> kar.k&do=bWFpbElEPTIwMTkwMj
> > > I
> > > >
> > >
> >
> yMDQyNDE3ZXBjbXM1cDVmMzYwMDMwOGIwNWQ0YTRmM2NmMWY4Mj
> QyNTMzM2NlOCZyZWNpcGllbnRBZ
> > > > GRyZXNzPWRhbmllbC5zYW5nb3JyaW5AdG9zaGliYS5jby5qcA__>
> > >
> > >
> > >
> > >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhina
> kar.k&do=bWFpbElEPTIwMTkwMj
> > I
> > >
> >
> yMDU0MDE1ZXBjbXM1cDM1NTNkMWI3MTY1N2IwYzYxMmVmZjU0MTEzY2
> Q1YTRiOCZyZWNpcGllbnRBZGRyZ
> > > XNzPWRhbmllbC5zYW5nb3JyaW5AdG9zaGliYS5jby5qcA__>
> _______________________________________________
> Fuego mailing list
> Fuego@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/fuego

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082)
       [not found]       ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p7>
  2019-02-20 13:41         ` [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082) Dhinakar Kalyanasundaram
  2019-02-22  5:57         ` Dhinakar Kalyanasundaram
@ 2019-02-27 13:41         ` Dhinakar Kalyanasundaram
  2 siblings, 0 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-02-27 13:41 UTC (permalink / raw)
  To: Tim.Bird; +Cc: fuego

[-- Attachment #1: Type: text/html, Size: 31536 bytes --]

[-- Attachment #2: 201602111742151_N3WZA6X7.png --]
[-- Type: image/png, Size: 33527 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* [Fuego] Fuego v1.3.0 : ftc add-nodes issue
       [not found]           ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p3>
  2019-02-22  5:40             ` [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082) Dhinakar Kalyanasundaram
@ 2019-02-27 13:41             ` Dhinakar Kalyanasundaram
  2019-02-27 17:48               ` Tim.Bird
  2019-02-27 17:56               ` Tim.Bird
  2019-03-04 12:52             ` [Fuego] Fuego v1.3.0 : ftc remove-nodes issue even when security is disabled Dhinakar Kalyanasundaram
                               ` (2 subsequent siblings)
  4 siblings, 2 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-02-27 13:41 UTC (permalink / raw)
  To: fuego

[-- Attachment #1: Type: text/html, Size: 4529 bytes --]

[-- Attachment #2: 201602111742151_N3WZA6X7.png --]
[-- Type: image/png, Size: 33527 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Fuego v1.3.0 : ftc add-nodes issue
  2019-02-27 13:41             ` [Fuego] Fuego v1.3.0 : ftc add-nodes issue Dhinakar Kalyanasundaram
@ 2019-02-27 17:48               ` Tim.Bird
  2019-02-27 17:56               ` Tim.Bird
  1 sibling, 0 replies; 41+ messages in thread
From: Tim.Bird @ 2019-02-27 17:48 UTC (permalink / raw)
  To: dhinakar.k, fuego



> -----Original Message-----
> From: Dhinakar Kalyanasundaram 
> 
> Dear Fuego Users,
> 
> I am getting the below error while trying to add node in Fuego v1.3.
> 
> If I enable security in Fuego dashboard (Manage Jenkins -> Configure Global
> Security -> Enable Security and choose 'Logged-in users can do anything' with
> 'Allow anonymous read access' not checked), I get authentication issues in
> 'ftc list-nodes' command itself.
> 
> root@linux-2030047407:/ <mailto:root@linux-2030047407:/> # ftc list-nodes
> ('Allow anonymous read access' not checked)
> Traceback (most recent call last):
>   File "/usr/local/bin/ftc", line 4772, in <module>
>     main()
>   File "/usr/local/bin/ftc", line 4665, in main
>     do_list_nodes(conf)
>   File "/usr/local/bin/ftc", line 1869, in do_list_nodes
>     node_list = [node['name'] for node in server.get_nodes()]
>   File "/usr/local/lib/python2.7/dist-packages/jenkins/__init__.py", line 1170,
> in get_nodes
>     nodes_data =
> json.loads(self.jenkins_open(Request(self._build_url(NODE_LIST))))
>   File "/usr/local/lib/python2.7/dist-packages/jenkins/__init__.py", line 430,
> in jenkins_open
>     self.maybe_add_crumb(req)
>   File "/usr/local/lib/python2.7/dist-packages/jenkins/__init__.py", line 303,
> in maybe_add_crumb
>     self._build_url(CRUMB_URL)), add_crumb=False)
>   File "/usr/local/lib/python2.7/dist-packages/jenkins/__init__.py", line 448,
> in jenkins_open
>     e.code, e.msg)
> jenkins.JenkinsException: Error in request. Possibly authentication failed
> [403]: Forbidden
> 

Well, we should probably add something to ftc to have it use a non-anonymous
network access to jenkins.  This is something we need to add to the to-do list.

> ftc list-nodes ('Allow anonymous read access' checked)
> 
> root@userl2:/ <mailto:root@userl2:/> # ftc list-nodes
> Jenkins nodes in this system:
>    ARM64-SSH-Test
>    ARM64-Serial-Test
>    X86-SSH-Test
> 
> 
> and ftc list-boards work fine
> 
> root@userl2:/ <mailto:root@userl2:/> # ftc list-boards
> Boards in this system:
>    ARM64-SSH-Test
>    ARM64-SSH-Test_1
>    ARM64-Serial-Test
>    X86-SSH-Test
>    X86-Serial-Test
>    bbb
>    beaglebone-serial
>    docker
>    ftc-test
>    fuego-test
>    lager
>    localhost
>    minnow
>    qemu-arm
>    raspberrypi3
>    template-dev
> 
> 
> but when I try to add a node it throws the below error. ('Allow anonymous
> read access' not checked in Security)
> 
 
> root@userl2:/ <mailto:root@userl2:/> # ftc add-nodes ARM64-SSH-Test_1
> (ARM64-SSH-Test_1 is a copy of ARM64-SSH-Test)
> Error: add-node command requires a board
> 
This last error is just reporting a syntax error on the 'ftc add-node' command line.
You are missing the '-b' before the board.  This syntax changed between Fuego version
1.2 and 1.3, to make the command line syntax more regular between all the different
commands (and internally, the command line parser was refactored to unify it and
handle lots of features in a consistent way (e.g. all commands that take a board can
take a list of boards)).  So in 1.2, you specified 'add-node' without the '-b', but in 
1.3 you specify it with the '-b'.

Try this instead:
# ftc add-nodes -b ARM64-SSH-Test_1

Maybe we should make the error message more explicit here.  There are other ways this
can fail, but leaving off the '-b' will be a common one in the short term, IMHO, as people
update their Fuego versions.  Thoughts?

Thanks for the report.
 -- Tim


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Fuego v1.3.0 : ftc add-nodes issue
  2019-02-27 13:41             ` [Fuego] Fuego v1.3.0 : ftc add-nodes issue Dhinakar Kalyanasundaram
  2019-02-27 17:48               ` Tim.Bird
@ 2019-02-27 17:56               ` Tim.Bird
  1 sibling, 0 replies; 41+ messages in thread
From: Tim.Bird @ 2019-02-27 17:56 UTC (permalink / raw)
  To: dhinakar.k, fuego

Just a note.  I added an issue for this.  See 
http://fuegotest.org/wiki/Issue_0075

I'm not sure when I'll have time to work on this, but let me know
if this is blocking your work.  It seems like checking the box
'Allow anonymous read access' fixes the 'list-nodes' problem.
However, I'm not sure it will fix permission problems in the
'add-nodes' case, as that seems like an operation requiring
write access.
 -- Tim


> -----Original Message-----
> From: Dhinakar Kalyanasundaram 
> 
> Dear Fuego Users,
> 
> 
> 
> I am getting the below error while trying to add node in Fuego v1.3.
> 
> If I enable security in Fuego dashboard (Manage Jenkins -> Configure Global
> Security -> Enable Security and choose 'Logged-in users can do anything' with
> 'Allow anonymous read access' not checked), I get authentication issues in
> 'ftc list-nodes' command itself.
> 
> 
> 
> root@linux-2030047407:/ <mailto:root@linux-2030047407:/> # ftc list-nodes
> ('Allow anonymous read access' not checked)
> Traceback (most recent call last):
>   File "/usr/local/bin/ftc", line 4772, in <module>
>     main()
>   File "/usr/local/bin/ftc", line 4665, in main
>     do_list_nodes(conf)
>   File "/usr/local/bin/ftc", line 1869, in do_list_nodes
>     node_list = [node['name'] for node in server.get_nodes()]
>   File "/usr/local/lib/python2.7/dist-packages/jenkins/__init__.py", line 1170,
> in get_nodes
>     nodes_data =
> json.loads(self.jenkins_open(Request(self._build_url(NODE_LIST))))
>   File "/usr/local/lib/python2.7/dist-packages/jenkins/__init__.py", line 430,
> in jenkins_open
>     self.maybe_add_crumb(req)
>   File "/usr/local/lib/python2.7/dist-packages/jenkins/__init__.py", line 303,
> in maybe_add_crumb
>     self._build_url(CRUMB_URL)), add_crumb=False)
>   File "/usr/local/lib/python2.7/dist-packages/jenkins/__init__.py", line 448,
> in jenkins_open
>     e.code, e.msg)
> jenkins.JenkinsException: Error in request. Possibly authentication failed
> [403]: Forbidden
> 
> 
> 
> 
> ftc list-nodes ('Allow anonymous read access' checked)
> 
> root@userl2:/ <mailto:root@userl2:/> # ftc list-nodes
> Jenkins nodes in this system:
>    ARM64-SSH-Test
>    ARM64-Serial-Test
>    X86-SSH-Test
> 
> 
> and ftc list-boards work fine
> 
> root@userl2:/ <mailto:root@userl2:/> # ftc list-boards
> Boards in this system:
>    ARM64-SSH-Test
>    ARM64-SSH-Test_1
>    ARM64-Serial-Test
>    X86-SSH-Test
>    X86-Serial-Test
>    bbb
>    beaglebone-serial
>    docker
>    ftc-test
>    fuego-test
>    lager
>    localhost
>    minnow
>    qemu-arm
>    raspberrypi3
>    template-dev
> 
> 
> but when I try to add a node it throws the below error. ('Allow anonymous
> read access' not checked in Security)
> 
> 
> 
> root@userl2:/ <mailto:root@userl2:/> # ftc add-nodes ARM64-SSH-Test_1
> (ARM64-SSH-Test_1 is a copy of ARM64-SSH-Test)
> Error: add-node command requires a board
> 
> 
> Regards,
> 
> Dhinakar
> 
> 
> 
> 
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhina
> kar.k&do=bWFpbElEPTIwMTkwMjI3MTM0MTU0ZXBjbXM1cDNiZmYyODk4N
> WFjYzAxYjIzNzkwZGExZWY5YTA1ZWI1NSZyZWNpcGllbnRBZGRyZXNzPVRpbS
> 5CaXJkQHNvbnkuY29t>

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Fuego v1.3.0 : ftc add-nodes issue
       [not found]           ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p1>
  2019-02-22  5:02             ` Dhinakar Kalyanasundaram
@ 2019-03-01 10:39             ` Dhinakar Kalyanasundaram
  2019-03-13  6:13             ` [Fuego] Need to see logs real-time on the console when target board is connected via serial port Dhinakar Kalyanasundaram
  2 siblings, 0 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-03-01 10:39 UTC (permalink / raw)
  To: Tim.Bird; +Cc: fuego

[-- Attachment #1: Type: text/html, Size: 7425 bytes --]

[-- Attachment #2: Type: image/gif, Size: 13402 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* [Fuego] Fuego v1.3.0 : ftc remove-nodes issue even when security is disabled
       [not found]       ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p2>
  2019-02-22  5:01         ` Dhinakar Kalyanasundaram
@ 2019-03-04  7:01         ` Dhinakar Kalyanasundaram
  2019-03-04 13:49         ` Dhinakar Kalyanasundaram
  2 siblings, 0 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-03-04  7:01 UTC (permalink / raw)
  To: fuego

[-- Attachment #1: Type: text/html, Size: 3309 bytes --]

[-- Attachment #2: Type: image/gif, Size: 13402 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Fuego v1.3.0 : ftc remove-nodes issue even when security is disabled
       [not found]           ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p3>
  2019-02-22  5:40             ` [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082) Dhinakar Kalyanasundaram
  2019-02-27 13:41             ` [Fuego] Fuego v1.3.0 : ftc add-nodes issue Dhinakar Kalyanasundaram
@ 2019-03-04 12:52             ` Dhinakar Kalyanasundaram
  2019-03-05  5:59             ` Dhinakar Kalyanasundaram
  2019-03-11 13:50             ` [Fuego] Need to see logs real-time on the console when target board is connected via serial port Dhinakar Kalyanasundaram
  4 siblings, 0 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-03-04 12:52 UTC (permalink / raw)
  To: fuego

[-- Attachment #1: Type: text/html, Size: 5908 bytes --]

[-- Attachment #2: 201602111742151_N3WZA6X7.png --]
[-- Type: image/png, Size: 33527 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Fuego v1.3.0 : ftc remove-nodes issue even when security is disabled
       [not found]       ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p2>
  2019-02-22  5:01         ` Dhinakar Kalyanasundaram
  2019-03-04  7:01         ` [Fuego] Fuego v1.3.0 : ftc remove-nodes issue even when security is disabled Dhinakar Kalyanasundaram
@ 2019-03-04 13:49         ` Dhinakar Kalyanasundaram
  2019-03-04 22:26           ` Tim.Bird
       [not found]           ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p6>
  2 siblings, 2 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-03-04 13:49 UTC (permalink / raw)
  To: fuego

[-- Attachment #1: Type: text/html, Size: 8950 bytes --]

[-- Attachment #2: Type: image/gif, Size: 13402 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Fuego v1.3.0 : ftc remove-nodes issue even when security is disabled
  2019-03-04 13:49         ` Dhinakar Kalyanasundaram
@ 2019-03-04 22:26           ` Tim.Bird
       [not found]           ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p6>
  1 sibling, 0 replies; 41+ messages in thread
From: Tim.Bird @ 2019-03-04 22:26 UTC (permalink / raw)
  To: dhinakar.k, fuego

Thanks for the report.  I checked, and these bugs were introduced
and fixed during the 1.4 development cycle.

The typos (install_nodes vs. installed_nodes, and nodes vs node)
were introduced in commit 8eaf3ab0 (v1.3.0-172), and fixed
in commit c3f3c34b (v1.3.0-297).  Thus, there were fixed
during 1.4 development (version 1.4.0 would correspond to
v1.3.0-314.

I'm not sure why the version of Fuego you are using is within the
bad range.  (You can find where you are in the commit sequence
with 'git describe').  You should upgrade to version 1.4
(the latest release on the master branch).

If that's a problem, please let me know.  The conversion from 1.3 to
1.4 was supposed to be relatively easy, but obviously bugs get introduced
and fixed during development.  The 1.5 release is a quite large jump,
which is why I'm keeping it on a 'next' branch.  The next branch is more
of a 'use at your own risk' branch, as things are expected to possibly be
temporarily broken during development.
 -- Tim

> -----Original Message-----
> From: Dhinakar Kalyanasundaram 
> 
> Hi,
> 
> 
> 
> Sorry again, there is one more issue, this time the command executed but
> node was still present because of another typo (shown below)
> 
>  'for nodes in options:' -> 'for node in options'.
> 
> also
> 
> installed_nodes = [n['name'] for n in server.get_nodes()] (replaced node
> with n as the comparison is same)
> 
> 
> 
> I have pasted the working code below:
> 
> 
> 
> def do_rm_nodes(conf, options):
>     global server
> 
>     installed_nodes = [node['name'] for node in server.get_nodes()]
>     dprint("installed nodes=%s" % installed_nodes)
>     if not options:
>         # no args?, remove all installed nodes!
>         # FIXTHIS: add warning or ask for -f
>         options = installed_nodes
>     else:
>         for node in options:
>             if node not in installed_nodes:
>                 raise Exception('Node \'%s\' not found.' % node)
> 
>     for node in options:
>         installed_nodes = [n['name'] for n in server.get_nodes()]
>         if node not in installed_nodes:
>             # in case the same node is repeated in options
>             continue
>         if node == 'master':
>             # the master node is special in jenkins
>             continue
>         server.delete_node(node)
>     sys.exit(0)
> 
> 
> Regards,
> 
> Dhinakar
> 
> 
> 
> 
> 
> --------- Original Message ---------
> 
> Sender : Dhinakar Kalyanasundaram <dhinakar.k@samsung.com> Staff
> Engineer/FDS SW /SSIR/Samsung Electronics
> 
> Date : 2019-03-04 18:22 (GMT+5:30)
> 
> Title : RE: Fuego v1.3.0 : ftc remove-nodes issue even when security is
> disabled
> 
> 
> 
> Hi all,
> 
> 
> 
> I debugged it and found it is because of a bug (a typo).
> 
> Somehow it did not show up until this time :)
> 
> In the fuego-core/engine/scripts/ftc file, in function 'def do_rm_nodes(conf,
> options)',
> 
> install_nodes need to be changed to installed_nodes
> 
> Then it will work.
> 
> I have pasted the function below for reference.
> 
> Note: This issue has already been fixed in Fuego v1.4.0 version.
> 
> 
> 
> def do_rm_nodes(conf, options):
>     global server
> 
>     installed_nodes = [node['name'] for node in server.get_nodes()]
>     if not options:
>         # no args?, remove all installed nodes!
>         # FIXTHIS: add warning or ask for -f
>         options = installed_nodes
>     else:
>         for node in options:
>             if node not in install_nodes:
>                 raise Exception('Node \'%s\' not found.' % node)
> 
>     for nodes in options:
>         installed_nodes = [node['name'] for node in server.get_nodes()]
>         if node not in installed_nodes:
>             # in case the same node is repeated in options
>             continue
>         if node == 'master':
>             # the master node is special in jenkins
>             continue
>         server.delete_node(node)
>     sys.exit(0)
> 
> 
> 
> Regards,
> 
> Dhinakar
> 
> 
> 
> 
> 
> --------- Original Message ---------
> 
> Sender : Dhinakar Kalyanasundaram <dhinakar.k@samsung.com> Staff
> Engineer/FDS SW /SSIR/Samsung Electronics
> 
> Date : 2019-03-04 12:31 (GMT+5:30)
> 
> Title : Fuego v1.3.0 : ftc remove-nodes issue even when security is disabled
> 
> 
> 
> Dear Fuego Users,
> 
> I am getting the below error while trying to remove a node (added via ftc
> add-nodes -b xxx command) in Fuego v1.3.
> 
> 
> 
> root@linux-2030047407:/ <mailto:root@linux-2030047407:/> # ftc rm-nodes
> ARM64-SSH-Test1
> global name 'install_nodes' is not defined
> Usage: ftc rm-nodes [<node1> <node2> ...]
>   Use list-nodes to see the existing nodes.
> 
>   If no node is provided all existing nodes will be removed.
> 
> 
> 
> Able to add and list the nodes (as shown below):
> 
> root@linux-2030047407:/ <mailto:root@linux-2030047407:/> # ftc list-nodes
> Jenkins nodes in this system:
>    ARM64-SSH-Test
>    ARM64-SSH-Test1
>    ARM64-Serial-Test
>    X86-SSH-Test
> 
> 
> Note: Initially I had Security enabled (Access Control -> Jenkins' own user
> database and Authorization -> Anyone can do anything).
> 
>          Was able to add node with the above security.
> 
>          Later I disabled security and tried to remove the node 'ftc rm-nodes
> ARM64-SSH-Test1' but got the above same error (global name 'install_nodes'
> is not defined).
> 
>          But was able to delete the node from Jenkin's UI interface (Fuego
> dashboard). This is the current work-around.
> 
> 
> 
> Regards,
> 
> Dhinakar
> 
> 
> 
> 
> 
> 
> 
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhina
> kar.k&do=bWFpbElEPTIwMTkwMzA0MTM0OTE4ZXBjbXM1cDJmMTQzZjIxM
> ThkN2JjOGFjYmIwNjc0MjdiNTU3MTJkYiZyZWNpcGllbnRBZGRyZXNzPVRpbS5
> CaXJkQHNvbnkuY29t>

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Fuego v1.3.0 : ftc remove-nodes issue even when security is disabled
       [not found]           ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p3>
                               ` (2 preceding siblings ...)
  2019-03-04 12:52             ` [Fuego] Fuego v1.3.0 : ftc remove-nodes issue even when security is disabled Dhinakar Kalyanasundaram
@ 2019-03-05  5:59             ` Dhinakar Kalyanasundaram
  2019-03-11 13:50             ` [Fuego] Need to see logs real-time on the console when target board is connected via serial port Dhinakar Kalyanasundaram
  4 siblings, 0 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-03-05  5:59 UTC (permalink / raw)
  To: Tim.Bird; +Cc: fuego

[-- Attachment #1: Type: text/html, Size: 8626 bytes --]

[-- Attachment #2: 201602111742151_N3WZA6X7.png --]
[-- Type: image/png, Size: 33527 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* [Fuego] Need to see logs real-time on the console when target board is connected via serial port
       [not found]           ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p6>
@ 2019-03-05 11:07             ` Dhinakar Kalyanasundaram
  0 siblings, 0 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-03-05 11:07 UTC (permalink / raw)
  To: fuego

[-- Attachment #1: Type: text/html, Size: 3266 bytes --]

[-- Attachment #2: 201602111742151_N3WZA6X7.png --]
[-- Type: image/png, Size: 33527 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Need to see logs real-time on the console when target board is connected via serial port
       [not found]           ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p3>
                               ` (3 preceding siblings ...)
  2019-03-05  5:59             ` Dhinakar Kalyanasundaram
@ 2019-03-11 13:50             ` Dhinakar Kalyanasundaram
  2019-03-12 18:42               ` Tim.Bird
  4 siblings, 1 reply; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-03-11 13:50 UTC (permalink / raw)
  To: Tim.Bird; +Cc: fuego

[-- Attachment #1: Type: text/html, Size: 5847 bytes --]

[-- Attachment #2: 201602111742151_N3WZA6X7.png --]
[-- Type: image/png, Size: 33527 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Need to see logs real-time on the console when target board is connected via serial port
  2019-03-11 13:50             ` [Fuego] Need to see logs real-time on the console when target board is connected via serial port Dhinakar Kalyanasundaram
@ 2019-03-12 18:42               ` Tim.Bird
  0 siblings, 0 replies; 41+ messages in thread
From: Tim.Bird @ 2019-03-12 18:42 UTC (permalink / raw)
  To: dhinakar.k; +Cc: fuego

> -----Original Message-----
> From: Dhinakar Kalyanasundaram 
> 
> Hi Tim,
> 
> 
> 
> Thanks a lot for the updated version of 'serio' utility.
> 
> We tried it on Functional.fuego_sleep (for 5mins) and our test which ran for
> 1.5 hrs.
> 
> It works as intended and no issues so far.

Great!  Thanks for testing it.

I'm still working with the upstream serio maintainer, and the code
may change again.  Hopefully, you can test another version of this
if it changes again.

> 
> I mainly wanted this feature to get the log up to the point in case a long
> running test (12hrs or more) failed/hanged/crashed.
>
> So far no issue up to 1.5hrs of execution, will let you know if we face any
> issues during long running tests.

Thanks.

By the way, there is one thing in the code path that worries me a little
with an extremely long test.  Internally all the data for a single run is
buffered in a single data variable.  I'm not sure this will scale well, as
the amount of data that could accumulate could be quite large.
Now that the data is output as it is read, it's unclear to me that this
internal buffer is needed any more.  So I might remove it, which would
be another refactoring of this code path.
 
> One question, in the current code, data is flushed out every 100 lines or
> based on time interval? (256ms?).
Right now, the serio code flushes the data on every character.  This is fairly
wasteful on the host side.  It works fine if you're only running one test on the
host, but would consume cycles unnecessarily and possible cause scaling problems
when running hundreds of (serial-based) Fuego tests.

I was thinking of backing this off to every line (when '\n' is encountered).  But I think
your idea to have it based on a time interval is good also.  I'll have to give it some thought.

It appears that the Jenkins code does not flush data through the system any faster
than once per line.  In Functional.fuego_sleep, the progress dots ('.') don't show up
in the web interface until a line feed is encountered (at least as far as I've seen on my
system).

As an aside from the discussion of the flushing issue...
Finally - did you use the Functional.fuego_sleep from the repository, or did you download
the Functional.fuego_sleep package from fuegotest.org?  If you downloaded the package,
I'm very interested to hear what your experience was.  Was it easy?  Did you encounter any
problems?  I'm considering adding some features to 'ftc' to make this easier, and it would
be nice to hear your feedback.

(By the way, if you did download the test package from the server, this would make the
first "real" use of the server and the test package system, so that's pretty neat!)

I'm thinking of adding 'ftc list-tests -r' (or --remote) to show remote tests on the server that
are available for download, and 'ftc install-test -r' (or --remote) to install a test directly from
the server (so the user doesn't have to manually download the test).
Let me know if you think these would be useful.
(...end of aside)

 -- Tim


> --------- Original Message ---------
> 
> Sender : Tim.Bird@sony.com <Tim.Bird@sony.com>
> 
> Date : 2019-03-10 00:46 (GMT+5:30)
> 
> Title : RE: Need to see logs real-time on the console when target board is
> connected via serial port
> 
> 
> 
> > -----Original Message-----
> > From: Dhinakar Kalyanasundaram >
> > Dear Fuego Users,
> >
> > Real-time logs are not displayed on Jenkins/Fuego console (in the
> > dashboard) while using boards connected via serial port to the host system.
> >
> > Target Board connected directly to fuego host through UART cable and the
> > board configuration is set to Serial with Baud rate as 115200.  When any
> script
> > triggered executes for longer duration, output does not print in real-time
> on
> > Jenkins console, instead outputs are displayed only after  execution is
> > completed.
> 
> I took at look at this, and the problem was in serio, which is located in the
> Fuego container at /usr/local/bin.
> 
> I have made some changes, but not pushed them upstream yet.  Please find
> an experimental version of 'serio' attached.  Can you please try this one
> (copy it into the docker
> container and overwrite the previous 'serio' in /usr/local/bin.  You might
> want to save a copy of the original serio, to restore back, if this one doesn't
> work)
> 
> Please test this out and let me know if it solves the problem.
> 
> Also, I've been testing this with Functional.fuego_sleep.
> There's a new version of this test available, which is useful IMHO
> for testing this particular problem.  I've uploaded a test package for
> this to the Fuego server.  You can find it on this page:
> 
> http://fuegotest.org/cgi-bin/fserver.py/tests
> 
> Please download Functional.fuego_sleep-1.5-1.ftc (not the yaml file)
> and install it in your system with: ftc install-test <test-package-name>.
> Then create a job for it, run the test, and let me know what happens.
> 
> Thanks,
>  -- Tim
> 
> P.S.  There's actually a separate problem that's embedded in your description
> below, which is gathering console information during a test run when the
> primary Fuego connection is over ssh.  For that, I'm investigating some
> a different solution.
> 
> >
> > 1. Hence if the test hangs or crashes, we are not able to get the logs until it
> > hung/crashed.
> >
> > 2. Also, if we abort or stop the test during the execution no logs are
> available.
> >
> > 3. In case of long running tests, complete logs are not available, only
> > truncated log is available (may be the size of buffer)
> >
> >
> >
> > Logs are displayed real-time output on console when board configuration is
> > set to SSH.
> >
> > Note: Instead of fuego, if we directly connect to the board via minicom or
> > teraterm we able to see logs real-time.
> >
> >
> >
> > Experimented with Serial board configuration IO_TIME_SERIAL=0.1 and still
> > real-time outputs are not observed.
> >
> >
> >
> > Snippet of Board configuration used is given below:
> >
> >
> >
> > SERIAL="/dev/ttyUSB0"
> > BAUD="115200"
> > LOGIN="root"
> > BOARD_TESTDIR="/tmp"
> > PASSWORD="root"
> > PLATFORM="aarch64-linux"
> > TRANSPORT="serial"
> > IO_TIME_SERIAL="0.1"
> > ARCHITECTURE="arm64"
> >
> >
> >
> > Any suggestions to fix this, please let me know?
> >
> >
> >
> > Regards,
> >
> > Dhinakar
> >
> >
> >
> >
> >
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhina
> >
> kar.k&do=bWFpbElEPTIwMTkwMzA1MTEwNzE2ZXBjbXM1cDZjOGFiOWRiNTI
> >
> xMTljNjY2YzRkMzc0OThiYzY5ZjI4YyZyZWNpcGllbnRBZGRyZXNzPVRpbS5CaXJ
> > kQHNvbnkuY29t>
> 
> 
> 
> <http://ext.samsung.net/mail/ext/v1/external/status/update?userid=dhina
> kar.k&do=bWFpbElEPTIwMTkwMzExMTM1MDQ3ZXBjbXM1cDMyNjM1YWE
> 5NjkxODk5MWZjOWVkMDkyYWQwYmIyNjZjMCZyZWNpcGllbnRBZGRyZXNz
> PVRpbS5CaXJkQHNvbnkuY29t>

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Need to see logs real-time on the console when target board is connected via serial port
       [not found]           ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p1>
  2019-02-22  5:02             ` Dhinakar Kalyanasundaram
  2019-03-01 10:39             ` [Fuego] Fuego v1.3.0 : ftc add-nodes issue Dhinakar Kalyanasundaram
@ 2019-03-13  6:13             ` Dhinakar Kalyanasundaram
  2 siblings, 0 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-03-13  6:13 UTC (permalink / raw)
  To: Tim.Bird; +Cc: fuego

[-- Attachment #1: Type: text/html, Size: 13000 bytes --]

[-- Attachment #2: Type: image/gif, Size: 13402 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Need to see logs real-time on the console when target board is connected via serial port
       [not found]   ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p8>
                       ` (3 preceding siblings ...)
  2019-02-22  6:04     ` Dhinakar Kalyanasundaram
@ 2019-03-20 10:28     ` Dhinakar Kalyanasundaram
  2019-03-26 21:48       ` Tim.Bird
  4 siblings, 1 reply; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-03-20 10:28 UTC (permalink / raw)
  To: Tim.Bird; +Cc: fuego

[-- Attachment #1: Type: text/html, Size: 16069 bytes --]

[-- Attachment #2: 201602111742151_N3WZA6X7.png --]
[-- Type: image/png, Size: 33527 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Need to see logs real-time on the console when target board is connected via serial port
  2019-03-20 10:28     ` [Fuego] Need to see logs real-time on the console when target board is connected via serial port Dhinakar Kalyanasundaram
@ 2019-03-26 21:48       ` Tim.Bird
  0 siblings, 0 replies; 41+ messages in thread
From: Tim.Bird @ 2019-03-26 21:48 UTC (permalink / raw)
  To: dhinakar.k; +Cc: fuego

> -----Original Message-----
> From: Dhinakar Kalyanasundaram 
> 
> Just wanted to report one observation.
> 
> Our rootfs is point to bash (as it is required by Fuego) instead of the default
> busybox sh (ash).
> 
> The test application we use prints messages to the console (pass/fail along
> with some information).
> 
> Kernel also throws error, info & warning messages (which are usually
> interleaved between test application messages) to the console.
> 
> During long running test these messages are flushed out to the console
> continuously.
> 
> In the fuego dashboard console I see the below messages in the log,
> 
> 
> 
> ** 6 printk messages dropped ** [  175.513561] ...........
> 
> ** 5 printk messages dropped ** [  175.567155] ............
> 
> ** 10 printk messages dropped ** [  175.614568] ..........
I believe these truncations are coming from the kernel.

> 
> 
> 
> Hence, I tested on the minicom directly (instead of fuego dashboard) first
> rootfs with 'busybox sh' enabled and then rootfs with 'bash' enabled.
> 
> In case of busybox sh the only the application log gets printed to the console
> and test execution is normal (as intended, say for e.g. 6900 iterations in 12
> mins).
> 
> But if we use 'bash' as the default we see the test execution is stalled at
> times (probably to flush out the buffer to the console) and resumes.
> 
> So the test execution is not as smooth as on 'busybox sh' (for e.g. only 3030
> iterations in 12 mins).
> 
> Just wanted to know if 'bash' is influencing the kernel to stop test execution
> so that the logs (application, kernel etc.) can be flushed out to the console?
Bash may be putting more data into the system log (not the console) than
busybox sh.

Does the console log have a lot more lines of output in the bash case than 
in the busybox case?  You said that the test itself can complete:
busybox sh: 6900 iterations in 12 minutes
bash: 3030 itetrations in 12 minutes

How many lines of output do each of these produce?

If you are getting 'stalls', you might want to run the shells with strace
(with output going to a log, and using high-resolution timing (-ttt)),
to see where the delays are occurring in the commands.  This may not
work, as it may be too intrusive and the noise from strace may interfere
with the timings of operations by the application.  But you may be
able to figure out what bash is doing different, or what operation is
consuming more time, or stalling, by comparing traces.

> 
> Does 'bash' generate (allow) more logs (from kernel, application etc.) to the
> console than 'busybox sh'?
Not to my knowledge.

> 
> Tried to filter it with 'dmesg -n 1' but it doesn't work (still I see application and
> kernel logs on the console).
That's very odd.  This should suppress messages from the kernel to the console
devices (except for panics and the like)

> 
> 'busybox sh' is able to manage it because it only flushes out application logs?
> 
> To summarize, we see different behavior of test execution between
> 'busybox sh' and 'bash'.
> 
> Application and kernel logs are flushed out to console in case of 'bash' and
> only 'application logs' are flushed out to console in case of 'busybox sh'.
> 
> 'dmesg -n 1' is not able to restrict the kernel logs getting flushed out to the
> console.
>
I don't know what's causing this.
 
> Also, the test execution is stalled at times when 'bash' is used (could be
> because it needs to flush out more logs compared to 'busybox sh'), hence
> test execution is slower.
> 
> Since we can't use 'busybox sh' with Fuego, we need to fix the above issue
> with 'bash' so that we can run the test from Fuego dashboard.

Well, that's something we should really get fixed in serio.
I'm going to be out-of-office next week, but I'd like to return to this
in mid-April and see if there's some what to allow serio to work
better with busybox sh.

Also, I'd like to wrap up the fix for processing the output in realtime.
The upstream maintainer for serio has gone on vacation, but we had
some good discussions about improvements to my original patch for this,
and I hope to continue work on that also after my trip.
 -- Tim


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [Fuego] Need to see logs real-time on the console when target board is connected via serial port
       [not found]       ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p5>
  2019-02-22  4:24         ` Dhinakar Kalyanasundaram
@ 2019-03-29 15:49         ` Dhinakar Kalyanasundaram
  1 sibling, 0 replies; 41+ messages in thread
From: Dhinakar Kalyanasundaram @ 2019-03-29 15:49 UTC (permalink / raw)
  To: Tim.Bird; +Cc: fuego

[-- Attachment #1: Type: text/html, Size: 10118 bytes --]

[-- Attachment #2: 201602111742151_N3WZA6X7.png --]
[-- Type: image/png, Size: 33527 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2019-03-29 15:49 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-06 18:55 [Fuego] Executing test on slave machine connected to target board via serial port dhinakar k
2019-02-13  3:02 ` Tim.Bird
2019-02-13 13:08   ` dhinakar k
2019-02-13 18:34     ` Tim.Bird
     [not found]     ` <CGME20190213183747epcas4p4959509342dd00b5b5a01cb59c5bee5e5@epcms5p2>
2019-02-14  5:01       ` Dhinakar Kalyanasundaram
     [not found]   ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p8>
2019-02-19 13:59     ` [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082) Dhinakar Kalyanasundaram
2019-02-20  7:02       ` daniel.sangorrin
     [not found]       ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p5>
2019-02-22  4:24         ` Dhinakar Kalyanasundaram
2019-02-22  4:28           ` daniel.sangorrin
     [not found]           ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p1>
2019-02-22  5:02             ` Dhinakar Kalyanasundaram
2019-03-01 10:39             ` [Fuego] Fuego v1.3.0 : ftc add-nodes issue Dhinakar Kalyanasundaram
2019-03-13  6:13             ` [Fuego] Need to see logs real-time on the console when target board is connected via serial port Dhinakar Kalyanasundaram
     [not found]           ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p3>
2019-02-22  5:40             ` [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082) Dhinakar Kalyanasundaram
2019-02-22  5:51               ` daniel.sangorrin
2019-02-22  5:57                 ` daniel.sangorrin
2019-02-27  2:47                   ` Tim.Bird
2019-02-27 13:41             ` [Fuego] Fuego v1.3.0 : ftc add-nodes issue Dhinakar Kalyanasundaram
2019-02-27 17:48               ` Tim.Bird
2019-02-27 17:56               ` Tim.Bird
2019-03-04 12:52             ` [Fuego] Fuego v1.3.0 : ftc remove-nodes issue even when security is disabled Dhinakar Kalyanasundaram
2019-03-05  5:59             ` Dhinakar Kalyanasundaram
2019-03-11 13:50             ` [Fuego] Need to see logs real-time on the console when target board is connected via serial port Dhinakar Kalyanasundaram
2019-03-12 18:42               ` Tim.Bird
2019-03-29 15:49         ` Dhinakar Kalyanasundaram
     [not found]       ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p7>
2019-02-20 13:41         ` [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082) Dhinakar Kalyanasundaram
2019-02-21  0:28           ` daniel.sangorrin
2019-02-22  5:57         ` Dhinakar Kalyanasundaram
2019-02-22  6:01           ` daniel.sangorrin
2019-02-27 13:41         ` Dhinakar Kalyanasundaram
2019-02-20 14:22     ` Dhinakar Kalyanasundaram
2019-02-21  0:31       ` daniel.sangorrin
     [not found]       ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p2>
2019-02-22  5:01         ` Dhinakar Kalyanasundaram
2019-02-22  5:14           ` daniel.sangorrin
2019-03-04  7:01         ` [Fuego] Fuego v1.3.0 : ftc remove-nodes issue even when security is disabled Dhinakar Kalyanasundaram
2019-03-04 13:49         ` Dhinakar Kalyanasundaram
2019-03-04 22:26           ` Tim.Bird
     [not found]           ` <CGME20190213131046epcas1p4516d444853c430f817cef80ae92f7c3d@epcms5p6>
2019-03-05 11:07             ` [Fuego] Need to see logs real-time on the console when target board is connected via serial port Dhinakar Kalyanasundaram
2019-02-22  6:02     ` [Fuego] Regarding changing jenkins service port change (from 8080 -> 8082) Dhinakar Kalyanasundaram
2019-02-22  6:04     ` Dhinakar Kalyanasundaram
2019-03-20 10:28     ` [Fuego] Need to see logs real-time on the console when target board is connected via serial port Dhinakar Kalyanasundaram
2019-03-26 21:48       ` Tim.Bird

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.