apiconnect-collective-controller-api

    3.2.1 • Public • Published

    apiconnect-collective-controller-api

    Deprecation Notice

    Since the API Connect Collective Controller has been deprecated, this module is also deprecated. While it may work with Liberty Profile in the future, no guarantees are made about its functionality with those versions.

    Overview

    Provides a library of functions for deployment and control via a Collective Controller. The primary purpose of this library is to allow the API Connect Toolkit more direct control over a collective controller and its member applications.

    This library is intended for internal use only, and is not meant for public consumption. Please refer to the API Reference for help with usage.

    API Reference

    Modules

    apiconnect-collective-controller-api

    Classes

    Cluster
    FileService
    ServerCommand

    apiconnect-collective-controller-api

    Cluster

    Kind: global class

    new Cluster()

    Operations for deploying a cluster of applications to a collective.

    Cluster.listClusterNames(host, port, username, password)

    List all clusters registered to controller.

    Kind: static method of Cluster

    Param Type Description
    host string Hostname of controller.
    port string Port to get to controller.
    username string Admin username for controller.
    password string Admin password for controller. Returns array of members in the form host,userdir,servername

    Cluster.listMembers(host, port, username, password, clusterName)

    Lists all members of a cluster.

    Kind: static method of Cluster

    Param Type Description
    host string Hostname of controller.
    port string Port to get to controller.
    username string Admin username for controller.
    password string Admin password for controller.
    clusterName string Name of cluster. Returns a simple array of strings with members registed to cluster in the form host,userdir,servername. Example: ['hostname,userdir,servername','hostname,userdir,servername2'].

    Cluster.restartCluster(host, port, username, password, clusterName)

    Restarts all members in a cluster.

    Kind: static method of Cluster

    Param Type Description
    host string Hostname of controller.
    port string Port to get to controller.
    username string Admin username for controller.
    password string Admin password for controller.
    clusterName string Name of cluster. Returns array of clusters in the form ["cluster1","cluster2"].

    Cluster.undeployCluster(host, port, username, password, clusterName)

    Undeploys all members in a cluster.

    Kind: static method of Cluster

    Param Type Description
    host string Hostname of controller.
    port string Port to get to controller.
    username string Admin username for controller.
    password string Admin password for controller.
    clusterName string Name of cluster. Returns err and array of objects consisting of undeploy status, stderr, stdout, and the serverName for the target member. The signature of the returned result: cb(err OR null, [ {"status":"FINISHED","serverName":"someName","stdout":"...", "stderr":""} {"status":"ERROR","serverName":"someName","stdout":"", "stderr":"..."} ])

    Cluster.parseMembers(data)

    Internal function, exposed for unit tests.

    Parses the results from listMembers() and returns an array of objects formatted with the member properties needed to do an undeploy

    Kind: static method of Cluster

    Param Type Description
    data Array.<string> array of strings from listMembers() needing to be parsed. Returns array of objects consisting of undeploy memberHost, userDir, and serverName for the target member. The signature of the returned result: [ {memberHost: "something.com", userDir: "/foo/path/bar", serverName: "..."} ]

    Cluster.undeployMembers(host, port, username, password, members)

    Internal function, exposed for unit tests.

    Undeploys all members, defined in an array.

    Kind: static method of Cluster

    Param Type Description
    host string Hostname of controller.
    port string Port to get to controller.
    username string Admin username for controller.
    password string Admin password for controller.
    members object Array of objects consisting of memberHost, userDir, and serverName.

    Properties

    Name Type Description
    memberHost string The member host name
    userDir string The WLPN_USER_DIR where the member code lives.
    serverName string The name of the server/application instance.

    Cluster.undeployMember(host, port, username, password, member)

    Undeploys a member.

    Kind: static method of Cluster

    Param Type Description
    host string Hostname of controller.
    port string Port to get to controller.
    username string Admin username for controller.
    password string Admin password for controller.
    member Object.<string, string> The member to undeploy, is an object consisting of memberHost, userDir, and serverName.

    Cluster.disableScalingPolicy(host, port, username, password, clusterName)

    Disables the scalingPolicy for a cluster. Used when undeploying so more members do not get deployed when existing ones go down.

    Kind: static method of Cluster

    Param Type Description
    host string Hostname of controller.
    port string Port to get to controller.
    username string Admin username for controller.
    password string Admin password for controller.
    clusterName string Name of cluster.

    Cluster.setScale(clusterName, host, instances, password, port, username)

    Sets the Scaling Policy and overrides the file in the controller.

    Kind: static method of Cluster

    Param Type Description
    clusterName string is required.
    host string Hostname of controller to the collective.
    instances string number of instances to set for cluster scaling.
    password string Admin password for controller.
    port string Port to get to controller. not provided, the other parameters must be passed into the function call
    username string Admin username for controller. member.

    Cluster.getScale(host, password, port, username)

    Gets the Scaling Policy from controller configDropins/overrides folder.

    Kind: static method of Cluster

    Param Type Description
    host string Hostname of controller to the collective.
    password string Admin password for controller.
    port string Port to get to controller. not provided, the other parameters must be passed into the function call
    username string Admin username for controller. member.

    FileService

    Kind: global class

    new FileService()

    Module for handling file uploads and member server deployment with uploaded packages.

    FileService.upload([appDir], host, password, port, srcFile, username)

    Upload to controller.

    Kind: static method of FileService

    Param Type Description
    [appDir] string Application directory on controller to place file.
    host string Hostname of controller.
    password string Admin password for controller.
    port string Port to get to controller.
    srcFile string local file you are uploading.
    username string Admin username for controller.

    FileService.deploy(appDir, appPackage, [clusterName], host, [instances], keystorePassword, password, port, serverName, [srcFile], username)

    Deploy to member (creates new member), must have package already uploaded.

    Kind: static method of FileService

    Param Type Description
    appDir string Application directory on controller to place file.
    appPackage string The name of the package being deployed. Should already be on the server in the specified appDir.
    [clusterName] string The name of the deployed cluster to affect, also used for file naming for file being uploaded. If no clusterName is specified, will take the filename from package srcFile (if specified) or appPackage, if that is used instead.
    host string Hostname of controller.
    [instances] string number of instances to set for cluster scaling (both min and max). If not specified, will default to 1.
    keystorePassword string Keystore Password for joining new member to the collective.
    password string Admin password for controller.
    port string Port to get to controller.
    serverName string Name of new member.
    [srcFile] string local file to upload before deploy. If this is not provided, the appPackage must be passed into the function call.
    username string Admin username for controller.

    FileService.undeploy(host, port, username, password, memberHost, userDir, serverName)

    Undeploy to member (stops and removes).

    Kind: static method of FileService

    Param Type Description
    host string Hostname of controller.
    port string Port to get to controller.
    username string Admin username for controller.
    password string Admin password for controller.
    memberHost string hostname of member host where member was deployed.
    userDir string userDir that member was deployed on member host.
    serverName string Name of member to undeploy.

    FileService.uploadPackage(host, password, port, srcFile, username)

    Upload Package to controller stackGroup location.

    Kind: static method of FileService

    Param Type Description
    host string Hostname of controller.
    password string Admin password for controller.
    port string Port to get to controller.
    srcFile string local file to upload before deploy. If this is not provided, the other parameters must be passed into the function call
    username string Admin username for controller. member.

    FileService.uploadDeployRules(appPackage, [clusterName], host, [instances], keystorePassword, password, port, serverName, username)

    Upload deploy.xml to controller to stackGroup location. This file is used to feed data into the controller's deployRule.xml.

    Kind: static method of FileService

    Param Type Description
    appPackage string The name of the package being deployed. Should already be on the server in the specified appDir. If an appPackage is not specified, will use clusterName if specified. If clusterName is specified, will overwrite appPackage for file naming. One or the other is required.
    [clusterName] string The name of the deployed cluster to affect, also used for file naming for file being uploaded. scaling policy for. If this is not specified, it will use
    host string Hostname of controller.
    [instances] string number of instances to set for cluster scaling (both min and max). If not specified, will default to 1.
    keystorePassword string Keystore Password for joining new member to the collective.
    password string Admin password for controller.
    port string Port to get to controller.
    serverName string Name of new member.
    username string Admin username for controller. member.

    FileService.uploadScalingPolicy(appPackage, [clusterName], host, instances, password, port, username)

    Upload Scaling Policy to controller configDropins/overrides folder.

    Kind: static method of FileService

    Param Type Description
    appPackage string The name of the package being deployed. Should already be on the server in the specified appDir. If an appPackage is not specified, will use clusterName if specified. One or the other is required.
    [clusterName] string The name of the deployed cluster to affect, also used for file naming for file being uploaded.
    host string Hostname of controller. to the collective.
    instances string number of instances to set for cluster scaling.
    password string Admin password for controller.
    port string Port to get to controller. not provided, the other parameters must be passed into the function call
    username string Admin username for controller. member.

    ServerCommand

    Kind: global class

    new ServerCommand()

    Provides commands to directly control server/application instances via a collective controller.

    ServerCommand.start(options)

    Implements the server start commands.

    Kind: static method of ServerCommand

    Param Type Description
    options object The options object.
    options.hostName string The host on which the server is running.
    options.wlpnUserDir string The user directory in which the server is set up.
    options.serverName string The server name identifying a server.
    options.host string The host on which controller is running.
    options.port string The https port assigned to the controller.
    options.user string The controller's admin user name.
    options.password string The controller's password.
    options.autoAcceptCertificates string An option to accept the certificate of the controller.

    ServerCommand.stop(options)

    Implements the server stop commands.

    Kind: static method of ServerCommand

    Param Type Description
    options object The options object.
    options.hostName string The host on which the server is running.
    options.wlpnUserDir string The user directory in which the server is set up.
    options.serverName string The server name identifying a server.
    options.host string The host on which controller is running.
    options.port string The https port assigned to the controller.
    options.user string The controller's admin user name.
    options.password string The controller's password.
    options.autoAcceptCertificates string An option to accept the certificate of the controller.

    ServerCommand.status(options)

    Implements the server status commands.

    Kind: static method of ServerCommand

    Param Type Description
    options object The options object.
    options.hostName string The host on which the server is running.
    options.wlpnUserDir string The user directory in which the server is set up.
    options.serverName string The server name identifying a server.
    options.host string The host on which controller is running.
    options.port string The https port assigned to the controller.
    options.user string The controller's admin user name.
    options.password string The controller's password.
    options.autoAcceptCertificates string An option to accept the certificate of the controller.

    ServerCommand.list(options)

    Implements the server list commands.

    Kind: static method of ServerCommand

    Param Type Description
    options object The options object.
    options.host string The host on which controller is running.
    options.port string The https port assigned to the controller.
    options.user string The controller's admin user name.
    options.password string The controller's password.
    options.autoAcceptCertificates string An option to accept the certificate of the controller.

    ServerCommand.getData(options)

    Retrieve a key-value pair from the Collective Repository.

    Kind: static method of ServerCommand

    Param Type Description
    options object The options object.
    options.path string The registry path to get the data stored in a particular path. The data could be an environmental variable formatted as 'key=value'.
    options.host string The host on which controller is running.
    options.port string The https port assigned to the controller.
    options.user string The controller's admin user name.
    options.password string The controller's password.
    options.autoAcceptCertificates string An option to accept the certificate of the controller.

    ServerCommand.deleteNode(options)

    Delete a node in Collective Repository.

    Kind: static method of ServerCommand

    Param Type Description
    options object The options object.
    options.path string The registry path to get the data stored in a particular path. The data could be an environmental variable formatted as 'key=value'.
    options.host string The host on which controller is running.
    options.port string The https port assigned to the controller.
    options.user string The controller's admin user name.
    options.password string The controller's password.
    options.autoAcceptCertificates string An option to accept the certificate of the controller.

    ServerCommand.setData(options)

    Sets the data (a key-value pair) in the Repository.

    Kind: static method of ServerCommand

    Param Type Description
    options object The options object.
    options.path string The registry path to set the data.
    options.data string The data to be stored in the path specified above. The data could be an environmental variable formatted as 'key=value'.
    options.host string The host on which controller is running.
    options.port string The https port assigned to the controller.
    options.user string The controller's admin user name.
    options.password string The controller's password.
    options.autoAcceptCertificates string An option to accept the certificate of the controller.

    ServerCommand.createNode(options)

    Creates a node in the Repository.

    Kind: static method of ServerCommand

    Param Type Description
    options object The options object.
    options.path string The registry path to set the data.
    options.data string The data to be stored in the path specified above. The data could be an environmental variable formatted as 'key=value'.
    options.host string The host on which controller is running.
    options.port string The https port assigned to the controller.
    options.user string The controller's admin user name.
    options.password string The controller's password.
    options.autoAcceptCertificates string An option to accept the certificate of the controller.

    ServerCommand.listClusterData(options)

    Retrieve a key-value pair from the Collective Repository.

    Kind: static method of ServerCommand

    Param Type Description
    options object The options object.
    options.path string The registry path to get the data stored in a particular path. The data could be an environmental variable formatted as 'key=value'.
    options.host string The host on which controller is running.
    options.port string The https port assigned to the controller.
    options.user string The controller's admin user name.
    options.password string The controller's password.
    options.autoAcceptCertificates string An option to accept the certificate of the controller.

    ServerCommand.getClusterData(options)

    Retrieve a key-value pair from the Collective Repository.

    Kind: static method of ServerCommand

    Param Type Description
    options object The options object.
    options.clusterName string The name of the cluster to get from.
    options.key string The registry path to get the data stored in a particular path. The data could be an environmental variable formatted as 'key=value'. FIXME not 'could be', is
    options.host string The host on which controller is running.
    options.port string The https port assigned to the controller.
    options.user string The controller's admin user name.
    options.password string The controller's password.
    options.autoAcceptCertificates string An option to accept the certificate of the controller.

    ServerCommand.setClusterData(options)

    Sets the data (a key-value pair) in the Repository.

    Kind: static method of ServerCommand

    Param Type Description
    options object The options object.
    options.clusterName string The name of the cluster to store data.
    options.key string The name of the variable to set the data.
    options.data string The data to be stored in the variable

    ServerCommand.setIhsInfo()

    Sets a IHS IP/name to a port.

    Kind: static method of ServerCommand

    Param Type Description
    options.ihsIp string The IP of the IHS server.
    options.ihsPort string The port of the IHS server.
    options.host string The host on which controller is running.
    options.port string The https port assigned to the controller.
    options.user string The controller's admin user name.
    options.password string The controller's password.

    ServerCommand.listIhsInfo()

    Gets the IHS IP/name to port mappings

    Kind: static method of ServerCommand

    Param Type Description
    options.host string The host on which controller is running.
    options.port string The https port assigned to the controller.
    options.user string The controller's admin user name.
    options.password string The controller's password. Return looks like { '1.2.3.4': '8080', ... }

    ServerCommand.getHosts()

    Gets a list of hosts registered to the controller.

    Kind: static method of ServerCommand

    Param Type Description
    options.host string The host on which controller is running.
    options.port string The https port assigned to the controller.
    options.user string The controller's admin user name.
    options.password string The controller's admin password. Returned data looks like: { allServersRunning: 1, allServersStopped: 0, allServersUnknown: 0, someServersRunning: 0, noServers: 0, type: 'hosts', ids: [ 'hostname1', 'hostname2' ] }

    ServerCommand.deleteClusterData

    Deletes the data (a key-value pair) in the Repository.

    Kind: static typedef of ServerCommand

    Param Type Description
    options object The options object.
    options.clusterName string The name of the cluster to remove data from.
    options.key string The name of the variable to delete.
    callback

    ServerCommand.clearClusterData

    Deletes all of data (the key-value pairs) for a cluster in the Repository.

    Kind: static typedef of ServerCommand

    Param Type Description
    options object The options object.
    options.clusterName string The name of the cluster to clear data from.
    callback

    Keywords

    none

    Install

    npm i apiconnect-collective-controller-api

    DownloadsWeekly Downloads

    192

    Version

    3.2.1

    License

    SEE LICENSE IN LICENSE.txt

    Unpacked Size

    12.6 MB

    Total Files

    22

    Last publish

    Collaborators

    • jisoolee
    • dhmlau
    • ritch
    • johnbellessa
    • chrisdudley
    • redlanne
    • scheu
    • sanchit.chadha