Versions Compared

Key

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

...

The package field contains the JSON object from the package manifest of the most recently successful agent install. See the "Agent package" section.

Agent package:

BP: I think it is important for this and agent-install.sh to work from the same files, because they are doing essentially the same thing.

...

hzn [agentpackage | ap] [new | list | publish]

...describe more details...

Edge Clusters

Agents running in an edge cluster are running within a container. The container's guest OS and package manager will be used to upgrade the agent binaries. The agent will upgrade itself within the container, without terminating the container.

??? Question: Still deciding on this. The alternative is to have the agent installed via an operator (which we dont have today) and allow the operator to do the upgrade. Perhaps this is a better way? The agent process would have to communicate with the operator (through a CRD) in order to trigger an upgrade. ???

??? Question: Is there a case where we would need to update the container in some way that is different from updating the agent binary of the agent config ???

Agent in Linux Container

The existing upgrade script depends on pulling image from dockerhub OH
...design for this is tbd...

Additional management policy

...

Thinking forward a bit, NMP could be extended with the following schema to support additional scenarios:

...

Here's some schema examples:

Code Block
{

...


  "service-dependency-upgrade": { // enable service dependencies to upgrade without a new agreement

...


    "enable": boolean,

...


  },

...


  "management-hub":       // management hub configuration, if the primary doesn't work, use an alternate.

...


    "primary" : {

...


      "exchange": "<url>",

...


      "mms": "<url>",

...


      "tls-cert": "<url>"

...


    },

...


    "alternate":          // optional

...


      {"exchange": "<url>",

...


      "mms": "<url>",

...


      "tls-cert": "<url>"},

...


    ],

...


  "ha-group": {                            // establish a group of nodes that are working together, service upgrades happen one at a time

...


    "partners": ["<node-id>|<node-name>"], // An explicit list of partner nodes, XOR

...


    "constraint": [""]

...


  }

...


}


User Experience

<Describe which user roles are related to the problem AND the solution, e.g. admin, deployer, node owner, etc. If you need to define a new role in your design, make that very clear. Remember this is about what a user is thinking when interacting with the system before and after this design change. This section is not about a UI, it's more abstract than that. This section should explain all the aspects of the proposed feature that will surface to users.>

...