Service Virtualization

 View Only
  • 1.  How can I deploy CA Service Virtualization on Multiple hosts

    Posted Feb 27, 2017 11:38 AM

    We are currently deploying DevTest 10 using Docker on a single host.

     

    As part of this, we spin up 4 containers.

     

    - Dashboard (dradis-base)

    -Registry (registry-broker-base)

    -VSE  (servers-base)

    -Portal (portal-base)

     

    We are now running into a situation, where I would like to split the containers across hosts. I need help to identify which properties in the lisa.properties file to update in order to facilitate this. I want to make the containers server agnostic. For example I can deploy these 4 containers to 4 separate servers. 

     

    I have my own images based off the official images. I override the entrypoint in the docker image, and provide a script that finds and replaces properties. 

     

    The environment variables are injected at deploy time. Ie REGISTRY_URL will have the DNS name where the registry is deployed.

     

    Registry

     

    #!/bin/bash

     

    sed -i "s#lisa.registryName=.*#lisa.registryName=tcp://$REGISTRY_URL:2010/Registry#" \

      /opt/devtest/lisa.properties

    sed -i "s#lisadb.pool.common.url=.*#lisadb.pool.common.url=$JDBC_STRING#" \

      /opt/devtest/lisa.properties 

     

    # Start Registry

    /opt/devtest/bin/Registry -n tcp://$REGISTRY_URL:2010/Registry

     

     

    Dashboard

     

    #!/bin/bash

     

    sed -i "s#tcp://.*:2003/EnterpriseDashboard#tcp://$DASHBOARD_URL:2003/EnterpriseDashboard#" /opt/devtest/lisa.properties sed -i "s/devtest.enterprisedashboard.host=localhost/devtest.enterprisedashboard.host=$DASHBOARD_URL/" /opt/devtest/lisa.properties

     

    # start dashboard

    /opt/devtest/bin/EnterpriseDashboard

     

    VSE

     

    #!/bin/bash -x

     

    sed -i "s#lisa.vseName=.*#lisa.vseName=tcp://$VSE_URL:2013/VSE#" \

      /opt/devtest/lisa.properties

    sed -i "s#lisa.registryName=.*#lisa.registryName=tcp://$REGISTRY_URL:2010/Registry#" \

      /opt/devtest/lisa.properties

    sed -i "s#lisadb.pool.common.url=.*#lisadb.pool.common.url=$JDBC_STRING#" \

      /opt/devtest/lisa.properties

     

    /opt/devtest/bin/VirtualServiceEnvironment -n tcp://${VSE_URL}:2013/VSE -m tcp://${REGISTRY_URL}:2010/Registry

     

    Portal

     

    #!/bin/bash

     

    sed -i "s#lisa.registryName=.*#lisa.registryName=tcp://$REGISTRY_URL:2010/Registry#" \  /opt/devtest/lisa.properties sed -i "s#lisa.vseName=.*#lisa.vseName=tcp://$VSE_URL:2013/VSE#" \

      /opt/devtest/lisa.properties

    sed -i "s#lisadb.pool.common.url=.*#lisadb.pool.common.url=$JDBC_STRING#" \

      /opt/devtest/lisa.properties

     

    # Start Portal

    /opt/devtest/bin/Portal -J-Dregistry.host="$REGISTRY_URL" -J-DlisaAutoConnect="tcp://$REGISTRY_URL:2010/Registry"

     

     

    For reference, here is a sample dockerfile. I take the files ca provide and add these scripts as entrypoints.

     

    FROM myregistry/devtest/servers-base:10.0.0.431

     

    ADD ./init.sh /root/init.sh

     

    ENTRYPOINT ["/root/init.sh"]

     

     

    Please help me to identify all properties to update, in order to allow the ability to deploy these 4 containers on 4 separate servers.

     

    Thanks



  • 2.  Re: How can I deploy CA Service Virtualization on Multiple hosts

    Posted Mar 02, 2017 05:00 AM

    The principal property that you should use is lisa.registry.url

    This provides the connection string for a component to use when connecting to a remote registry:

     

          lisa.registry.url=tcp://registry_machine:2010/Registry

     

    The lisa.registryName property is read by the registry and provides its identity rather than the connection details - the same is true for all the lisa.*Name properties.

     

    You may need to do some docker and firewall magic to make it accessible remotely - one way to achieve this easily is to use the host networking option when spinning up the container - there are may other ways, however, and you may have local conventions on how best to do this. 



  • 3.  Re: How can I deploy CA Service Virtualization on Multiple hosts
    Best Answer

    Posted Mar 02, 2017 08:53 AM

    Thanks David. I was able to get it working. There was some strange networking issues, and as mentioned, I had to use the host networking option on the container. 



  • 4.  Re: How can I deploy CA Service Virtualization on Multiple hosts

    Broadcom Employee
    Posted May 30, 2018 09:35 AM

    I am researching how we can improve our CA Service Virtualization (DevTest's) Docker implementation and would love your feedback so that we can understand your needs.  I started a discussion thread entitled Feedback on How to Improve SV's Docker Solution.

     

    In this post, I have requested your help to take a 5 minute survey in order to gather your feedback.  

     

    Thank you for your help!

     

    Beverly Mindle

    Senior Product Manager