We have four mechanisms for deploying a virtual service within DevTest's framework. Here's a list of all four, and how they should behave with regards to "Start on Deploy" flag:
From the Workstation: For this we right click on the vsm file and select Deploy or Redeploy depending upon the following scenarios
* When a vsm is deployed with "Start the service on deployment" checked in the Deploy dialog, the service should go to "Running" state. * When a vsm is deployed with "Start the service on deployment" unchecked in the Deploy dialog, the service should stay in "Loaded" state. * When a service is already deployed and is in "Running" state, if we redeploy it with any setting of "Start the service on deployment" (checked or unchecked), the service should stay in "Running" state. * When a service is already deployed and is in "Loaded" state, if we redeploy it with "Start the service on deployment" unchecked, the service should stay in "Loaded" state, but if we do it with checked it should go to "Running" state.
From VSE Console: We need to first create a MAR file that'll be used for deployment from console. To create a mar with "start on deployment" set to true, right-click the vsm file and select "Create MAR Info file" from the menu. Make sure "Start the service on deployment" is checked and click OK. Now, right click the new file mari and select "Build Model Archive". To create a mar with "start on deployment" set to false, uncheck "Start the service on deployment" checkbox, and follow the rest of the steps.
To deploy the service, we go to server console VSE dashboard, and select the "Deploy" or "Redeploy" button depending upon the following scenarios: * When we "Deploy" a mar that had "startOnDeploy" set to true, the service should go to "Running" state. * When we "Deploy" a mar that had "startOnDeploy" set to false, the service should stay in "Loaded" state. * When a service is already deployed and is in "Running" state, if we "Redeploy" it by choosing either one of the mar files (with "startOnDeploy" set to true or false), the service should stay in "Running" state. * When a service is already deployed and is in "Loaded" state, if we "Redeploy" it by choosing the mar file with "startOnDeploy" set to false, the service should stay in "Loaded" state, but if we do it with "startOnDeploy" set to true, it should go to "Running" state.
Adding a MAR file to vseDeploy directory
We need to first create a MAR file that'll be used for deployment from console. To create a mar with "start on deployment" set to true, right-click the vsm file and select "Create MAR Info file" from the menu. Make sure "Start the service on deployment" is checked and click OK. Now, right click the new file mari and select "Build Model Archive". To create a mar with "start on deployment" set to false, uncheck "Start the service on deployment" checkbox, and follow the rest of the steps.
To deploy the service, drop the mar file into vseDeploy/VSE_<year> folder. To redeploy, we overwrite the mar file with a new one: * When we drop a mar file that had "startOnDeploy" set to true, the service should go to "Running" state. * When we drop a mar that had "startOnDeploy" set to false, the service should stay in "Loaded" state. * When a service is already deployed and is in "Running" state, if we redeploy it by choosing either one of the mar files (with "startOnDeploy" set to true or false), the service should stay in "Running" state. * When a service is already deployed and is in "Loaded" state, if we redeploy it by choosing the mar file with "startOnDeploy" set to false, the service should stay in "Loaded" state, but if we do it with "startOnDeploy" set to true, it should go to "Running" state.
Using VSEManager commands
We need to first create a MAR file that'll be used for deployment from console. To create a mar with "start on deployment" set to true, right-click the vsm file and select "Create MAR Info file" from the menu. Make sure "Start the service on deployment" is checked and click OK. Now, right click the new file mari and select "Build Model Archive". To create a mar with "start on deployment" set to false, uncheck "Start the service on deployment" checkbox, and follow the rest of the steps.
The following VSEManager commands can be used to deploy or redeploy a service depending upon the scenario: VSEManager --deploy <mar file path> VSEManager --redeploy <mar file path>
* When we deploy a mar file that had "startOnDeploy" set to true, the service should go to "Running" state. * When we deploy a mar that had "startOnDeploy" set to false, the service should stay in "Loaded" state. * When a service is already deployed and is in "Running" state, if we redeploy it by choosing either one of the mar files (with "startOnDeploy" set to true or false), the service should stay in "Running" state. * When a service is already deployed and is in "Loaded" state, if we redeploy it by choosing the mar file with "startOnDeploy" set to false, the service should stay in "Loaded" state, but if we do it with "startOnDeploy" set to true, it should go to "Running" state.