Moving Message VPN Configurations Between Software Instances

Naga Member Posts: 58
edited October 2019 in PubSub+ Event Broker #1

I have created VPN on one software Instance. Now I need the same configuration on another software instance. I did below:

  1. create username sftp password **** filetransfer.

solace>show current-config message-vpn sample_vpn > cliscripts/sample_vpn.cli
solace# copy cliscripts/sample_vpn.cli sftp://sftp@/cliscripts

ERROR:  Could not read from `/cliscripts/sample_vpn.cli': Permission denied
Command Failed


  • marc
    marc Member, Administrator, Moderator, Employee Posts: 877 admin

    I'll look into why the documented steps don't seem to be working for you as I was able to reproduce the issue on my local docker instance. Are you deploying the broker as a VM or using docker? In the meantime if you have access to the shell the cliscript gets saved to /usr/sw/jail/cliscripts so you could scp it from there.
    Example using docker:

    docker exec -it solace /bin/bash 
    $ cd /usr/sw/jail/cliscripts/
    $ scp sample_vpn.cli ftpuser@server:path
  • Naga
    Naga Member Posts: 58

    I am using VMware. Thanks

  • marc
    marc Member, Administrator, Moderator, Employee Posts: 877 admin

    After looking into this further it looks like the copy command only works for copying appliance to appliance right now. This is a known issue and will be addressed in a future SolOS release.

    The work around for one software event broker to another is to do one of the following:
    1. Create a file-transfer user on both software event brokers, then copy it
    off one event broker to another host then on the other event broker copy in
    from that host. Say, for example, if you are using windows, you can use
    WinSCP to transfer it off one and put it on another.
    2. Login to the linux shell (you can use solacectl shell from the cli) and then do sftp and put the file to another host.

    vmr-133-12# show current-config message-vpn default > cliscripts/default.cli
    [sysadmin@vmr-133-12 ~]$ solacectl shell
    [appuser@vmr-133-12 ~]$ cd /usr/sw/jail/cliscripts
    [appuser@vmr-133-12 cliscripts]$ ls -lrt
    -rw-rw-rw- 1 appuser root 10530 Oct 25 02:59 default.cli
    [appuser@vmr-133-12 cliscripts]$ sftp -oPort=2222 [email protected]
    Solace PubSub+ Enterprise
    Connected to 192.168.X.X.
    sftp> cd cliscripts
    sftp> put default.cli
    Uploading default.cli to /cliscripts/default.cli
    [appuser@vmr-133-13 cliscripts]$ ls -lrt
    -rw-r--r-- 1 sftp solgroup 10530 Oct 25 05:01 default.cli
  • [Deleted User]
    [Deleted User] Posts: 0 ✭✭

    @Naga were you able to get this working? If so, please click the “Yes” on Did this answer the question? where appropriate so that others can benefit! And if not, please let us know so we can continue to assist!

  • Naga
    Naga Member Posts: 58

    Since I am directly login to cli not able to shell or solacectl command.

  • marc
    marc Member, Administrator, Moderator, Employee Posts: 877 admin

    If you can't get access to the shell on the broker then try to do the following:

    • Create a file transfer user on each solace software instance
    • From a 3rd host scp -P 2222 filetransfer@<vmr1>:/cliscripts/default.cli .
    • From that 3rd host: scp -P 2222 default.cli filetransfer@<vmr2>:/cliscripts/default.cli
    • Login to CLI on vmr2 & run script source script default.cli stop-on-error no-prompt

    Hope that helps!

  • [Deleted User]
    [Deleted User] Posts: 0 ✭✭

    @Naga I wanted to follow up to make sure that you were able to resolve this with what Marc posted above. If not, please let us know where you stand!

  • Naga
    Naga Member Posts: 58

    Thanks marc. I am able to move the configuration successfully.
    Is there a way we can edit the .cli file in the current environment before copying it to another environment ?

  • Abhikesh
    Abhikesh Member Posts: 34 ✭✭
    edited November 2019 #10

    @Naga Yes, That's very simple, Get Config file on your preferred location, i.e. on your pc and edit file in notepad++ or any other editor of your choice.