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. 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 >
