Hi Shameera, Here is an issue with the env variables. First time when we create a docker container we will pass the rabbitmq host ip as env variable in the run command.
> docker run -i -d --name test --env RABBITMQ=172.0.23.15 -t server:test But after stopping the container if we restart the container again then that env variable will no longer be there (as we can not pass env variable in the start command), which will cause a failure. docker start test I have tested with an example, this is a problem. I think the script approach is fine as it writes the rabbitmq host ip in the properties file so need not to rely on env variable next time onward. what do you think? Thanks Pankaj On Thu, Jul 23, 2015 at 11:47 AM, Shameera Rathnayaka < [email protected]> wrote: > Hi Pankaj, > > > On Thu, Jul 23, 2015 at 11:36 AM Pankaj Saha <[email protected]> > wrote: > >> Yes my startup script reading the ip of the container and on startup and >> its replacing the properties file's value. >> >> What I am asking is how this can be achieved by system properties (as you >> suggested earlier ) without manipulating the properties file? >> Do you suggest to set that as env variable on start up and then this env >> variable can be auto replaced in the airavata-server properties file? I >> don't know how I can achieve that replacement. >> > > Yes setting with ENV should work . e.g.: ENV rabbitmq.broker.url <url> > > >> On Thu, Jul 23, 2015 at 10:50 AM, Shameera Rathnayaka < >> [email protected]> wrote: >> >>> For this we can use entry point or startup script which set >>> apiserve.server.host=<docker-ip> system property. You can read docker-ip at >>> startup, you already do this in startup script isn't it?. >>> >>> >>> >>> On Thu, Jul 23, 2015 at 10:28 AM Pankaj Saha <[email protected]> >>> wrote: >>> >>>> Hi Shameera, >>>> Ok if this is the case then we are okay. For rabbitmq host ip this will >>>> work then. >>>> but problem with a*piserver.server.host=localhost* will still exist. >>>> Every time we start a container this will change and we can not pass this >>>> ass env variables as we don't know the ip of a container until it starts. >>>> >>>> please suggest if you have any way out to this problem. >>>> >>>> Thanks >>>> Pankaj >>>> >>>> >>>> >>>> On Wed, Jul 22, 2015 at 10:44 PM, Shameera Rathnayaka < >>>> [email protected]> wrote: >>>> >>>>> Hi Pankaj, >>>>> >>>>> If you pass environment variable then you don't want to edit property >>>>> file. Airavata give priority to system property then properties from >>>>> airavata-server.properties file. Hence you don't need to edit properties >>>>> file. >>>>> >>>>> ~Shameera. >>>>> >>>>> On Wed, Jul 22, 2015 at 9:40 PM Pankaj Saha <[email protected]> >>>>> wrote: >>>>> >>>>>> Hey Shameera >>>>>> Can you please explain with an example, I am not able to get what you >>>>>> are trying to say about system properties. What I have suggested here >>>>>> needs >>>>>> env variables to be passed as parameters while running the containers. >>>>>> Start up script will set these properties before running the airavata >>>>>> server. >>>>>> >>>>>> Thanks >>>>>> >>>>>> >>>>>> Pankaj >>>>>> On 22-Jul-2015 9:34 PM, "Shameera Rathnayaka" <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Hi Pankaj, >>>>>>> >>>>>>> did you try parsing those values as system properties when you start >>>>>>> docker images? It should work. Then you can add those system properties >>>>>>> from startup script instead of manipulating property file. >>>>>>> >>>>>>> On Wed, Jul 22, 2015 at 6:15 PM Pankaj Saha <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> I am planning to add a shell script(startup.sh) along with >>>>>>>> Dockerfile in the source, so that it make required changes and then >>>>>>>> start >>>>>>>> the airavata server. This will resolve the issues 2,3,4. >>>>>>>> like: CMD bash -C './startup.sh';'bash' >>>>>>>> >>>>>>>> startup.sh >>>>>>>> <https://drive.google.com/a/binghamton.edu/file/d/0ByuFJ2KDIjkiaWk4RVZ4cFl6UXM/view?usp=drive_web> >>>>>>>> >>>>>>>> For JAVA_HOME dependencies, I remember Suresh knows some changes >>>>>>>> which can resolve this issue (as he told in previous GSoC meeting). >>>>>>>> >>>>>>>> Thanks >>>>>>>> Pankaj >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Jul 22, 2015 at 12:00 PM, Pankaj Saha < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> adding one more item in the list >>>>>>>>> 4. Dockerfile should copy the content of airavata server after >>>>>>>>> maven build is completed. It will only copy the class files and >>>>>>>>> executable >>>>>>>>> files no source code is required in the docker image. >>>>>>>>> Now for each branch, maven is creating zip folder with the branch >>>>>>>>> id like apache-airavata-server-*0.15*-SNAPSHOT. To automate the >>>>>>>>> docker image creation we have to provide some common name, otherwise >>>>>>>>> user >>>>>>>>> have to modify dockerfile every time for different branches. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, Jul 22, 2015 at 11:47 AM, Pankaj Saha < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Hello Devs, >>>>>>>>>> >>>>>>>>>> Here are few open items that we need to fix before we allow >>>>>>>>>> Dockerfile to be part of airavata source tree. >>>>>>>>>> >>>>>>>>>> 1. airavata-server.sh still has dependency on JAVA_HOME env >>>>>>>>>> variable. Which we have to change manually after creating docker >>>>>>>>>> container. >>>>>>>>>> >>>>>>>>>> 2. airavata-server.properties file needs to be modified with host >>>>>>>>>> address of rabbitmq. Are we planning to pass them as an env variable >>>>>>>>>> while >>>>>>>>>> running the docker? Then we need to change the properties file such >>>>>>>>>> that it >>>>>>>>>> can identify the env variable and replace it. >>>>>>>>>> >>>>>>>>>> 3. apiserver.server.host=localhost needs to be changed to the >>>>>>>>>> apiserver.server.host=container ip. Container ip will the ip address >>>>>>>>>> of the >>>>>>>>>> running container. Which can be fetched by "wk 'NR==1 {print $1}' >>>>>>>>>> /etc/hosts" command. We need to plan how we are going to feed these >>>>>>>>>> values >>>>>>>>>> to the properties file without manual changes. >>>>>>>>>> >>>>>>>>>> Thanks >>>>>>>>>> Pankaj >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> -- >>>>>>> Shameera Rathnayaka >>>>>>> >>>>>> -- >>>>> Shameera Rathnayaka >>>>> >>>> >>>> -- >>> Shameera Rathnayaka >>> >> >> -- > Shameera Rathnayaka >
