Interface NodeRepository


  • public interface NodeRepository
    A minimal interface to the node repository, providing only the operations used by the controller.
    Author:
    mpolden
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      void addNodes​(com.yahoo.config.provision.zone.ZoneId zone, java.util.Collection<NodeRepositoryNode> nodes)  
      void cancelFirmwareCheck​(com.yahoo.config.provision.zone.ZoneId zone)
      Cancels firmware checks on all hosts in the given zone.
      void deleteNode​(com.yahoo.config.provision.zone.ZoneId zone, java.lang.String hostname)  
      Application getApplication​(com.yahoo.config.provision.zone.ZoneId zone, com.yahoo.config.provision.ApplicationId application)  
      NodeRepositoryNode getNode​(com.yahoo.config.provision.zone.ZoneId zone, java.lang.String hostname)  
      default java.util.List<Node> list​(com.yahoo.config.provision.zone.ZoneId zone)
      List all nodes in given zone
      default java.util.List<Node> list​(com.yahoo.config.provision.zone.ZoneId zone, com.yahoo.config.provision.ApplicationId application)
      List all nodes in zone owned by given application
      default java.util.List<Node> list​(com.yahoo.config.provision.zone.ZoneId zone, com.yahoo.config.provision.ApplicationId application, java.util.Set<Node.State> states)
      List all nodes in states, in zone owned by given application
      default java.util.List<Node> list​(com.yahoo.config.provision.zone.ZoneId zone, java.util.List<com.yahoo.config.provision.HostName> hostnames)
      List all nodes in zone having given hostnames
      NodeList listNodes​(com.yahoo.config.provision.zone.ZoneId zone)  
      NodeList listNodes​(com.yahoo.config.provision.zone.ZoneId zone, com.yahoo.config.provision.ApplicationId application)  
      NodeList listNodes​(com.yahoo.config.provision.zone.ZoneId zone, java.util.List<com.yahoo.config.provision.HostName> hostnames)  
      void requestFirmwareCheck​(com.yahoo.config.provision.zone.ZoneId zone)
      Requests firmware checks on all hosts in the given zone.
      void retireAndDeprovision​(com.yahoo.config.provision.zone.ZoneId zoneId, java.lang.String hostName)  
      void setState​(com.yahoo.config.provision.zone.ZoneId zone, NodeState nodeState, java.lang.String nodename)  
      TargetVersions targetVersionsOf​(com.yahoo.config.provision.zone.ZoneId zone)
      Get target versions for upgrades in given zone
      void upgrade​(com.yahoo.config.provision.zone.ZoneId zone, com.yahoo.config.provision.NodeType type, com.yahoo.component.Version version)
      Upgrade all nodes of given type to a new version
      void upgradeOs​(com.yahoo.config.provision.zone.ZoneId zone, com.yahoo.config.provision.NodeType type, com.yahoo.component.Version version, java.util.Optional<java.time.Duration> upgradeBudget)
      Upgrade OS for all nodes of given type to a new version
    • Method Detail

      • addNodes

        void addNodes​(com.yahoo.config.provision.zone.ZoneId zone,
                      java.util.Collection<NodeRepositoryNode> nodes)
      • deleteNode

        void deleteNode​(com.yahoo.config.provision.zone.ZoneId zone,
                        java.lang.String hostname)
      • setState

        void setState​(com.yahoo.config.provision.zone.ZoneId zone,
                      NodeState nodeState,
                      java.lang.String nodename)
      • getNode

        NodeRepositoryNode getNode​(com.yahoo.config.provision.zone.ZoneId zone,
                                   java.lang.String hostname)
      • listNodes

        NodeList listNodes​(com.yahoo.config.provision.zone.ZoneId zone)
      • listNodes

        NodeList listNodes​(com.yahoo.config.provision.zone.ZoneId zone,
                           com.yahoo.config.provision.ApplicationId application)
      • listNodes

        NodeList listNodes​(com.yahoo.config.provision.zone.ZoneId zone,
                           java.util.List<com.yahoo.config.provision.HostName> hostnames)
      • list

        default java.util.List<Node> list​(com.yahoo.config.provision.zone.ZoneId zone)
        List all nodes in given zone
      • list

        default java.util.List<Node> list​(com.yahoo.config.provision.zone.ZoneId zone,
                                          java.util.List<com.yahoo.config.provision.HostName> hostnames)
        List all nodes in zone having given hostnames
      • list

        default java.util.List<Node> list​(com.yahoo.config.provision.zone.ZoneId zone,
                                          com.yahoo.config.provision.ApplicationId application)
        List all nodes in zone owned by given application
      • list

        default java.util.List<Node> list​(com.yahoo.config.provision.zone.ZoneId zone,
                                          com.yahoo.config.provision.ApplicationId application,
                                          java.util.Set<Node.State> states)
        List all nodes in states, in zone owned by given application
      • getApplication

        Application getApplication​(com.yahoo.config.provision.zone.ZoneId zone,
                                   com.yahoo.config.provision.ApplicationId application)
      • upgrade

        void upgrade​(com.yahoo.config.provision.zone.ZoneId zone,
                     com.yahoo.config.provision.NodeType type,
                     com.yahoo.component.Version version)
        Upgrade all nodes of given type to a new version
      • upgradeOs

        void upgradeOs​(com.yahoo.config.provision.zone.ZoneId zone,
                       com.yahoo.config.provision.NodeType type,
                       com.yahoo.component.Version version,
                       java.util.Optional<java.time.Duration> upgradeBudget)
        Upgrade OS for all nodes of given type to a new version
      • targetVersionsOf

        TargetVersions targetVersionsOf​(com.yahoo.config.provision.zone.ZoneId zone)
        Get target versions for upgrades in given zone
      • requestFirmwareCheck

        void requestFirmwareCheck​(com.yahoo.config.provision.zone.ZoneId zone)
        Requests firmware checks on all hosts in the given zone.
      • cancelFirmwareCheck

        void cancelFirmwareCheck​(com.yahoo.config.provision.zone.ZoneId zone)
        Cancels firmware checks on all hosts in the given zone.
      • retireAndDeprovision

        void retireAndDeprovision​(com.yahoo.config.provision.zone.ZoneId zoneId,
                                  java.lang.String hostName)