Stack Creation without Scripts

There are two ways of creating Stacks in JSDN. One way is creating in Source marketplace (and pushing it to Target marketplace) and another way is in Target Marketplace itself.

Create Stack Template in Target Marketplace

An Application Stack refers to a set of servers and applications (user defined or platform driven) whose relationships and configurations can be managed collectively. If you have the privilege, you can create application stack templates using the Application Stack Designer and publish them. The stages that are involved in a typical application stack life cycle are the following:

  1. You can use the Stack Designer to design the stack templates.
  2. Once the stack template is ready, you can publish it as a service. You can then treat it as a normal service, add service details, apply margins etc. as required and make it available for resale. As in the case of any other services, it requires the approval from the marketplace.
  3. Once the stack service is available on the store catalog, the users can order the stack by launching it.

You can create a brand new application stack using the Manage Stack Template page. To create a stack template, use the Create Stack Template option. To know more about designing/creating a new stack template, refer to the Design Application Stack section.

Design Application Stack

This section discusses how a user can create the stack architecture, defines the applications for each of the servers (instances) of the stack, provides the required parameters and defines the sequence at which the servers of the stack will be launched. The output of design process is a template or blueprint of the actual stack. The stack design feature is available only at the marketplace level of JSDN. The marketplace admin or any user with the required privilege can design an application stack.

To design an application stack, perform the following steps:

  1. Log in to the JSDN Marketplace (MP) as an administrator.
  2. Navigate to IaaS Console > Create/Manage Stack Templates.
  3. The Create/Manage Stack Templates page lists all the stack templates already created by the user. Please refer to the Manage Stack Template section to know more about the functions available on the Manage Stack Template page.
  4. Click Create Stack Template. The Stack Template Designer page is displayed.

    If you are not able to view the designer properly, please make sure that the browser zoom is set to 100%.

  5. The AppStack designer UI has 3 sections i.e. the selection panel (left), the canvas (middle) and the resources section (right).

Selection Panel:

This section lists all the supported resources for stack design. By default, it has 4 sections:

  • Operating System: The components in this section refer to a bare virtual machine i.e. instance with the selected operating system.
  • Applications: The components in this section refer to a virtual machine with the selected application installed in it.
  • Database: The components in this section refer to a virtual machine with the selected database.
  • Scripts: The user can use the components in this section to install any additional applications that are not supported by the designer UI. The scripts can only be used on an already defined instance.

These are the default types of IaaS services loaded and made available in the Designer Console. In addition to it, the Jamcracker support team can load more IaaS services based on the customer requirement. For example, if required there can be a new section called ‘Business Applications’, apart from the above 4 sections, with corresponding applications loaded to it.

Canvas:

This (middle) section is used by the user to drag and drop the resources to design the stack.

Resources:

This section is used by the user to define the parameters for the stack and its resources.

  1. In the resources section, under the ‘Stack Template Details’ subsection, provide the name of the stack template and description about it.
  2. If you want to add tags to your stack, then you can do so in the ‘Tags’ subsection. The tags helps user easily identify the stack and its resources in future. The tags applied to the stack will be applied to all of its constituent instances.
  3. Start designing the stack by dragging a resource to the canvas. Each resource is represented by an instance in the canvas. You can’t drag and drop any resource (except Scripts) on the top of another instance.
  4. Once a resource is added to canvas, in the ‘Resources’ section, the corresponding instance details will be available.
  5. Each instance will be assigned a default name. But user can rename it as per requirement.
  6. The ‘Vendors’ field in the instance details lists all the supported vendors for the application. The user can select the vendor to which the instance will be launched to. It is a multi-select drop down allowing user to select more than one vendor. This gives the user to choose from the selected vendor options while launching. This feature is currently not certified in the product. So it is advisable to select only one vendor option from the drop-down.
  7. Repeat the same process to add multiple servers to the canvas as per your stack design requirement.

Please note that all the instances of a stack will be launched to a single vendor. The AppStack feature of Jamcracker platform currently doesn’t support CSB for Service Provider use case where you can launch one server of the stack to one vendor another to a different one. So when you add multiple servers to the stack, please ensure that you select the same vendor option from the ‘Vendor’ drop-down for all instances.

Scripts:

You can install any custom application, which is not available in the selection option, with the help of scripts. Currently the system supports two types of scripts i.e. Chef and Shell.

  • Drag and drop the script on the top of the instance in which you want to install the script.
  • Once added, the details will be added to the instance details section of the corresponding instance.
  • Provide the parameters required for the script to execute successfully. The parameters for Chef script are:
  • Chef Type – Enterprise or Opensource Chef.
  • Client - The registered account ID or User Name.
  • Validator - The validator name.
  • Endpoint - The end point to the privately or publicly held Chef server.
  • Organization - The unique account name.
  • ValidatorPemFile - The path to the file which must be kept in the path /d01/jboss/pp_config/Userscript/chef-repo/pemfiles on the JBoss server.
  • ClientPemFile - The path to the file which must be kept in the path /d01/jboss/pp_config/Userscript/chef-repo/pemfiles on the JBoss server.
  • Cookbooks: You need to provide the exact cookbook names that are available in the Chef server. You can add multiple cookbooks and sequence those as required. The cookbooks will be installed as per the defined sequence.

Similarly, you can add shell scripts as required.

Security Groups:

Security Groups can be setup for the default network interface under the Networking section.

This feature opens the ports of a server for connection from another server or from external systems.

  • Each instance has 3 source and 3 recipient connection points.
  • To connect between two servers, connect the source connector from one server to the recipient connector of other server.
  • The security group details pop up comes up. Provide the required details to create the security group between the servers.
  • Similarly create security group connections between other servers as required
  • You can open a port from external IP for a server by adding a security group specific to that server. This can be done by clicking on the ‘Create Security Group’ link available in the details section of that server.
  • You need to provide the port range and IP address for which the port will be opened.
  • The above step is significant because, to install any script of application, the Jamcracker JBoss server needs access to the newly created instance.
  • The system uses jcloud tool apis to connect Chef server urls(Chef.io) to install Chef client. After installing Chef client, api call will made from JSDN Provisioning system to install cookbooks using jcloud framework.
  • Thus we need to open firewall connections based on the requirement to complete the process of scripts installation in newly created instance.
  • To communicate between newly created instance and Jamcracker JBOSS application server, we need to allow port 22 (for ssh) to initiate for Chef client installation and cookbook installations.
  • Thus please ensure that Jamcracker JBoss Server can communicate via port 22 to the servers in which the application is installed or script is executed. Else the launch of stack may fail.
  • To ensure the JSDN Monitoring Server is able to communicate with the JSDN server, the following TCP & ICMP ports must be opened. Please create a Security Group with the following settings:
Protocol Port Range IP Address
ICMP -1 to -1 Gateway IP of the network where Monitoring Server is installed.
TCP 22 to 22 Gateway IP of the network where JSDN Server is installed.
Note: Please ensure you add application server IP to the security groups before placing an order. If you do not add application service IP address, you might not access the aws instance.

Dynamic Parameters:

You may ignore this section as this feature is not ready for production use.

Orchestration Sequence:

This defines the sequence in which the instances of the stack will be launched. This is significant to maintain the dependency between servers. For example, if a security group is defined between two servers of the stack, then the source IP is needed to create the security group. Thus the source server must be launched prior to launching the recipient server. This dependency can be defined by the user while designing the stack through orchestration sequence section.

The default sequence is defined by the system as the user designs the stack. But at any point the user can change the sequence by dragging the servers listed in orchestration sequence up or down.

  • Once the stack is defined, click the ‘Stack Template’ button to save the design template or blueprint. It will be listed in the ‘Create/Manage Stack Templates’ page and can be managed from this page.

Steps to Create Stack Template

  1. Login to Target or Source Marketplace using your admin credentials.
  2. Click IaaS Console tab.

  3. Click Create Stack Templates button.

  4. You will be redirected to the Stack Creation Template page.

  5. Now drag and drop the available Operating System.

  6. Fill the required details: (Stack Template Details, Resource and Networking).

    Stack Template Details:

    ** Please provide unique Stack Name.

    Resource:

    ** Please provide unique Instance Name.

    ** to make default vendor please check the blue button.

    Networking:

    Click Create Security Group under Networking, and provide the IP details.

  7. Click Save Template. (Verify once whether provided details are correct or not)

  8. Once saved the template now the template will be listed in the Create/Manage Stack Templates page, and the template is ready to Publish. You can also edit or delete the template before publish the template. After publishing we can not edit or delete the template.

  9. Click Publish button it will take you to below page to fill Service name, description and logo.

  10. Click Configure Launch Options.

    **Provide the appropriate Service code and Offer code of the subscription service for AWS, Azure, Openstack or VMWare.

  11. If you don’t want an option to be available during the launch then you can deselect it here. Also you can change default Region/Family during the launch by selecting the blue button.

  12. Click Save & Finish to publish the template to Marketplace catalog or service management page.

  13. Navigate to Administration > Service Management page.

  14. Before approving the service, click the Review link and edit the service where you can rename the service or change the logo, descriptions.

  15. Upload SLA and select the catalog.

  16. Again click Edit and navigate to Offers tab to update the offer details before approving the service.

  17. Click Edit button to edit the offer.

  18. Click the Pricing Information tab and update the Unit Price Description (as license or Usage) and click Save and Exit.

  19. Once saved the offer information navigate to Activities page and select the Resell (also you can manage which store to be resell this service by selecting the store) and Request Quote button and click Save & Next.

  20. Click Save & Next, you will be redirected to Resource page, where you can upload Collateral details if you any, or you can click Finish, now the service is ready for approval.

  21. Click Approve to activate the service. You can resell the service to the store and place the order.