Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In the JS7 - Deployment process a Deployment Descriptor specifies

  • which JS7 components products of JOC Cockpit, Controller instances and Agents should be installed,
  • where to install each JS7 componentproduct,
  • which installation options to use, for example the installation directory,
  • which configuration options to use, for example port usage.

Deployment Descriptors are specified from files in JSON format and include instructions, for example to deploy a larger number of Agents on target machines.

The JS7 - Deployment Packaging Script makes use of the Deployment Descriptor to install and to package JS7 componentsproducts.

Deployment Descriptor

Deployment Descriptors are specified from .json files.

  • Users are strongly encouraged to validate their .json files against the Deployment Descriptor Schema: , see JS7 _- Deployment _Descriptor_v1.0.jsonDescriptor JSON Schema.
  • The basic structure includes to specify an array of Agent objects.

...

Status
colourYellow
titleTODO

Examples

Agents using HTTP Connections

...

  • Host centostest-primary and centostest-secondary each operate an Agent.
  • The Controller to which the Agents are registered is using the testsuite Controller controller Controller ID.
  • Agents make use of HTTP connections.

Download example: standalone-agent-http-2022-12-04.descriptor.json


Code Block
titleExample for Deployment Descriptor
linenumberstrue
collapsetrue
{
    "descriptor": {
        "descriptorId": "standalone-agent-http-2022-12-04",
        "title": "Install or update AgentsAgent Standalone instance using HTTP connections",
        "account": "sos",
        "scheduled": "2022-12-02T0602T05:19:12.000+0100:00",
        "created": "2022-11-30T2330T22:19:12.000+0100:00"
    },
    "agents": [{
        {"controllerRefs": [
            "agent_001{
                "controllerId": {"controller",
                "targetmembers": {[
                    "connection": {
                        "hostagentId": "centostest-primaryagent_001",
                        "porttarget": 22{
                    },
          "connection": {
          "authentication": {
                        "methodhost": "publickeycentostest-primary",
                          "user      "port": "sos",22
                        "keyFile": "/home/sos/.ssh/sos_rsa"    },
                    },
        "authentication": {
           "packageLocation": "/tmp",
                    "execPremethod": "sudo systemctl stop js7_agent.servicepublickey",
                    "execPost": "sudo systemctl start js7_agent.service"          "user": "sos",
                },
                "mediakeyFile": {
"/home/sos/.ssh/sos_rsa"
                       "release": "2.5.0",
     },
                            "tarballpackageLocation": "/mnt/releases/scheduler_setups/2.5.0/js7_agent_unix.2.5.0.tar.gz"tmp",
                },
            "execPre": "StopService",
       "installation": {
                    "homeexecPost": "/opt/sos-berlin.com/js7/agent-primaryStartService",
                    "data        "makeService": "/var/sos-berlin.com/js7/agent-primary",true
                    "httpPort": "31445"
   },
             }
           "media": }{
        },
        {
            "agent_002release": {
   "2.5.3",
             "target": {
                    "connectiontarball": {
"2.5.3/js7_agent_unix.2.5.3.tar.gz"
                        "host": "centostest-secondary"},
                        "portinstallation": 22{
                    },
         "home": "/opt/sos-berlin.com/js7/agent-primary",
          "authentication": {
                     "data": "/var/sos-berlin.com/js7/agent-primary",
   "method": "publickey",
                        "userhttpPort": "sos31445",
                            "keyFilejavaHome": "/homeopt/sos/.ssh/sos_rsa"
           java/jdk8u202-b08",
         },
                    "packageLocationjavaOptions": "/tmp",
 -Xmx125m -Djava.security.egd=file:///dev/urandom"
                    "execPre": "sudo systemctl stop js7_agent.service", }
                    "execPost": "sudo systemctl start js7_agent.service"
},
                    },
{
                        "mediaagentId": {"agent_002",
                        "releasetarget": "2.5.0",{
                    "tarball": "/mnt/releases/scheduler_setups/2.5.0/js7_agent_unix.2.5.0.tar.gz"        "connection": {
                },
                "installationhost": {"centostest-secondary",
                    "home": "/opt/sos-berlin.com/js7/agent-secondary",            "port": 22
                    "data": "/var/sos-berlin.com/js7/agent-secondary",
        },
                "httpPort": "32445"
           "authentication": {
    }
            }
        }
    ],
    "controllersmethod": [],
"publickey",
                      "joc          "user": []
}

Agents using HTTPS Connections

The Deployment Descriptor specifies two Agents to be installed on two hosts:

  • Host centostest-primary and centostest-secondary each operate an Agent.
  • The Controller to which the Agents are registered is using the testsuite Controller ID.
  • Agents use HTTPS connections and are equipped with certificates.

Download example: agent-https-2022-12-04.json

"sos",
                                "keyFile": "/home/sos/.ssh/sos_rsa"
                            },
                            "packageLocation": "/tmp",
                            "execPre": "StopService",
                            "execPost": "StartService",
                            "makeService": true
                        },
                        "media": {
                            "release": "2.5.3",
                            "tarball": "2.5.3/js7_agent_unix.2.5.3.tar.gz"
                        },
                        "installation": {
                            "home": "/opt/sos-berlin.com/js7/agent-secondary",
                            "data": "/var/sos-berlin.com/js7/agent-secondary",
                            "httpPort": "32445",
                            "javaHome": "/opt/java/jdk8u202-b08",
                            "javaOptions": "-Xmx125m -Djava.security.egd=file:///dev/urandom"
                        }
                    }
                ]
            }
        ]
    },
    "version": "1.5.3"
} 

Agents using HTTPS Connections

The Deployment Descriptor specifies two Agents to be installed on two hosts:

  • Host centostest-primary and centostest-secondary each operate an Agent.
  • The Controller to which the Agents are registered is using the testsuite Controller ID.
  • Agents use HTTPS connections and are equipped with certificates.

Download example: standalone-agent-https-2022-12-04.descriptor.json


Code Block
titleExample for Deployment Descriptor
linenumberstrue
collapsetrue
{
    "descriptor": {
        "descriptorId": "standalone-agent-https-2022-12-04",
        "title": "Install or update Agent Standalone instance using HTTPS connections",
        "account": "sos",
        "scheduled": "2022-12-02T05:19:12.000+00:00",
        "created": "2022-11-30T22:19:12.000+00:00"
    },
    "certificates": {
        "controller": {
            "primaryControllerCert": "controllers/instances/controller.standalone/config/private/centostest-primary.crt"
        }
    },
    "agents": {
        "controllerRefs": [
            {
                "controllerId": "controller",
                "members": [
                    {
                        "agentId": "agent_001",
                        "target": {
                            "connection": {
                                "host": "centostest-primary",
                                "port": 22
                            },
                            "authentication": {
                                "method": "publickey",
                                "user": "sos",
                                "keyFile": "/home/sos/.ssh/sos_rsa"
                            },
                            "packageLocation": "/tmp",
                            "execPre": "StopService",
                            "execPost": "StartService",
                            "makeService": true
                        },
                        "media": {
                            "release": "2.5.3",
           
Code Block
titleExample for Deployment Descriptor
linenumberstrue
collapsetrue
{
    "descriptor": {
        "descriptorId": "agent-https-2022-12-04",
        "titletarball": "Install or update Agents using HTTPS connections",
"2.5.3/js7_agent_unix.2.5.3.tar.gz"
              "account": "sos",
        "scheduled": "2022-12-02T06:19:12+01:00" },
        "created": "2022-11-30T23:19:12+01:00"
    },
    "certificates": {
        "controllerinstallation": {
            "primaryControllerCert": "controllers/instances/testsuite.primary/config/private/centostest-primary.crt",
                 "secondaryControllerCerthome": "controllers/instancesopt/testsuitesos-berlin.secondarycom/configjs7/private/centostest-secondary.crt"agent-primary",
        }
        },
    "agents": [
        {"data": "/var/sos-berlin.com/js7/agent-primary",
            "agent_001": {
                "targethttpPort": {"localhost:31445",
                    "connection        "httpsPort": {"centostest-primary.sos:31443",
                            "hostjavaHome": "centostest-primary/opt/java/jdk8u202-b08",
                        "port": 22
    "javaOptions": "-Xmx125m -Djava.security.egd=file:///dev/urandom"
                        },
                        "authenticationconfiguration": {
                            "methodcertificates": "publickey",
      {
                  "user": "sos",
                        "keyFilekeyStore": "/home/sos/.ssh/sos_rsa"
        agents/instances/agent_001/config/private/https-keystore.p12",
            },
                    "packageLocationkeyStorePassword": "/tmpjobscheduler",
                    "execPre": "sudo systemctl stop js7_agent.service",
                    "execPostkeyPassword": "sudo systemctl start js7_agent.service"
                }jobscheduler",
                "media": {
                      "releasekeyAlias": "2.5.0centostest-primary",
                                "tarballtrustStore": "agents/mntinstances/releases/scheduler_setups/2.5.0/js7_agent_unix.2.5.0.tar.gz"agent_001/config/private/https-truststore.p12",
                },
                "installationtrustStorePassword": {
      "jobscheduler"
               "home": "/opt/sos-berlin.com/js7/agent-primary",
             },
       "data": "/var/sos-berlin.com/js7/agent-primary",
                    "httpPorttemplates": "localhost:31443",
[
                     "httpsPort": "centostest-primary:31443"
           "agents/templates/https/config"
        },
                 "configuration": {
  ]
                  "controller": {
     }
                   "controllerId": "testsuite" },
                    },{
                        "certificatesagentId": {
 "agent_002",
                       "keyStore": "agents/instances/agent_001/config/private/https-keystore.p12", "target": {
                            "keyStorePasswordconnection": "jobscheduler",
{
                                "keyPasswordhost": "jobschedulercentostest-secondary",
                                "trustStoreport": "agents/instances/agent_001/config/private/https-truststore.p12",
 22
                            },
        "trustStorePassword": "jobscheduler"
                    },"authentication": {
                    "templates": [
           "method": "publickey",
             "agents/templates/https/config"
                    ]
 "user": "sos",
               }
            }
        },"keyFile": "/home/sos/.ssh/sos_rsa"
        {
            "agent_002": {
        },
        "target": {
                    "connectionpackageLocation": {
"/tmp",
                            "hostexecPre": "centostest-secondaryStopService",
                            "portexecPost": 22
"StartService",
                           }, "makeService": true
                    "authentication": {    },
                        "methodmedia": "publickey",{
                            "userrelease": "sos2.5.3",
                            "keyFiletarball": "/home/sos/.ssh/sos_rsa"
2.5.3/js7_agent_unix.2.5.3.tar.gz"
                        },
                        "packagelocation": "/tmp",
installation": {
                            "execPrehome": "sudo systemctl stop js7_agent.service",
/opt/sos-berlin.com/js7/agent-secondary",
                            "execPostdata": "sudo systemctl start js7_agent.service"/var/sos-berlin.com/js7/agent-secondary",
                },
            "httpPort": "localhost:32445",
        "media": {
                    "releasehttpsPort": "2.5.0centostest-secondary.sos:32443",
                    "tarball        "javaHome": "/mntopt/releases/scheduler_setups/2.5.0/js7_agent_unix.2.5.0.tar.gz"java/jdk8u202-b08",
                },
                "installationjavaOptions": {
 "-Xmx125m -Djava.security.egd=file:///dev/urandom"
                      "home": "/opt/sos-berlin.com/js7/agent-secondary"  },
                        "dataconfiguration": "/var/sos-berlin.com/js7/agent-secondary",
 {
                            "httpPortcertificates": "localhost:32443",{
                    "httpsPort": "centostest-secondary:32443"
           "keyStore": "agents/instances/agent_002/config/private/https-keystore.p12",
    },
                "configuration": {
            "keyStorePassword": "jobscheduler",
       "controller": {
                        "controllerIdkeyPassword": "testsuitejobscheduler",
                    },
            "keyAlias": "centostest-secondary",
       "certificates": {
                        "keyStoretrustStore": "agents/instances/agent_002/config/private/https-keystoretruststore.p12",
                        "keyStorePassword        "trustStorePassword": "jobscheduler",
                        "keyPassword": "jobscheduler",
   },
                     "trustStore": "agents/instances/agent_002/config/private/https-truststore.p12",
       "templates": [
                  "trustStorePassword": "jobscheduler"
             "agents/templates/https/config"
       },
                    "templates": []
                        "agents/templates/https/config"}
                    ]}
                }]
            }
        }]
    ]},
    "controllersversion": [],
    "joc": []1.5.3"
}  

Resources