Skip to Main Content
IBM Power Ideas Portal


This portal is to open public enhancement requests against IBM Power Systems products, including IBM i. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Not under consideration
Workspace IBM i
Categories Networking
Created by Guest
Created on Oct 1, 2021

Need command to start a specific TCP/IP Server and all its Server Applications with AUTOSTART = YES

It seems there is no way to start only a single TCP/IP server while only starting its server applications which are set to AUTOSTART = YES.

For example, To start HTTP we have:
STRTCPSVR SERVER(*HTTP)

But that will start up ALL HTTP instances regardless of their AUTOSTART setting.

Then if we want to only start TCP/IP server applications which have AUTOSTART = YES, we have either:
STRTCPSVR SERVER(*AUTOSTART)
or
STRTCP

Both of which will start the TCP/IP Server Applications for ALL TCP/IP servers, not just HTTP.

It would be helpful if there was perhaps an additional option in the STRTCPSVR command such as:
STRTCPSVR SERVER(*HTTP) AUTOSTART(*YES)

Of course it would have to take the global setting into account as well.


Use Case:

There exist 5 HTTP server instances on a system. We'll say they are named: SERVER1, SERVER2, SERVER3, SERVER4, SERVER5. Only SERVER1 - SERVER3 are running and have their AUTOSTART property set to YES. The other two aren't needed at the time and have their AUTOSTART property set to NO.

There is a need to cycle all running HTTP server instances (SERVER1 - SERVER3). So "ENDTCPSVR SERVER(*HTTP)" is run and all instances shutdown. Now it's time to bring them back up.

If the goal is to only have SERVER1 - SERVER3 come back up, you have two options.
Either:
A) Run STRTCPSVR SERVER(*HTTP) then run
ENDTCPSVR SERVER(*HTTP) HTTPSVR(SERVER4)
ENDTCPSVR SERVER(*HTTP) HTTPSVR(SERVER5)
B) Manually bring up the three servers with:
STRTCPSVR SERVER(*HTTP) HTTPSVR(SERVER1)
STRTCPSVR SERVER(*HTTP) HTTPSVR(SERVER2)
STRTCPSVR SERVER(*HTTP) HTTPSVR(SERVER3)

It would be nice to be able to just issue a single command to only startup the 3 HTTP server instances which have AUTOSTART set to YES. Something like: STRTCPSVR SERVER(*HTTP) AUTOSTART(*YES)

I was told something like this is currently not possible in the linked Support Case ID. So here I am creating an RFE.


Idea priority Low
  • Guest
    Reply
    |
    Dec 21, 2021

    These functions are available in C and there are not RPG equivalents. However, you can use RPG to call a C API. The support page, https://www.ibm.com/support/pages/example-ile-rpg-calling-atof-c-function-and-how-it-behaves-locales, has an example of how to call a C API from RPG.

    The AUTOSTART parameter is not valid for command STRTCPSVR, so it is ignored. We understand your request to have support added to STRTCPSVR to start only those HTTP server instances with auto start enabled, but there is a work around using the C APIs. Therefore, IBM does not intend to implement this enhancement and the request is being closed.

  • Guest
    Reply
    |
    Nov 18, 2021

    I gather these are available from within C? Are there perhaps equivalents available within RPG/CL?

    It would seem your suggestion of using these API's would achieve a similar effect to what is being asked. But why does this command "STRTCPSVR SERVER(*HTTP) AUTOSTART(*YES)" ignore the "SERVER(*HTTP)" portion? It only seems logical to have it only start the HTTP servers which are set to auto start (Whether via the global setting or directly).

  • Guest
    Reply
    |
    Nov 1, 2021

    Thank you for taking the time to submit your request. I believe there are existing APIs that can be used to code a program that will allow you to accomplish starting only the HTTP server instances with an autostart value of *YES.

    QzuiGetInstanceNames() can be called to get the HTTP server instance names for the configured instances. Then call QzuiGetInstanceData() to loop through each HTTP server instance name and retrieve the autostart value for the instance. For any instance with an autostart value of *YES returned, use the system() API to call the STRTCPSVR SERVER(*HTTP) HTTPSVR(instance_name) from your program. Your program would need to determine how to treat an autostart value of *GLOBAL if it is returned on QzuiGetInstanceData(), This would allow a single program invocation to run each time you want to start the HTTP server instances with an autostart value of *YES.

    For more information on these APIs, see the following links.
    https://www.ibm.com/docs/en/i/7.4?topic=ssw_ibm_i_74/rzaie/rzaieapi_qzuigetinstancenames.htm
    https://www.ibm.com/docs/en/i/7.4?topic=ssw_ibm_i_74/rzaie/rzaieapi_qzuigetinstancedata.htm
    https://www.ibm.com/docs/en/i/7.4?topic=functions-system-execute-command

    Does the functionality of these APIs and the ability to create your own program to do this satisfy your request?

  • Guest
    Reply
    |
    Oct 15, 2021

    Due to processing by IBM, this request was reassigned to have the following updated attributes:
    Brand - Servers and Systems Software
    Product family - Power Systems
    Product - IBM i
    Component - Networking
    Operating system - IBM i
    Source - Other

    For recording keeping, the previous attributes were:
    Brand - Servers and Systems Software
    Product family - Power Systems
    Product - IBM i
    Component - Core OS
    Operating system - IBM i
    Source - Other