mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 22:46:12 +00:00
Insert the current state of a replica controller.
This commit is contained in:
parent
1fd12778eb
commit
4ba4762827
@ -324,6 +324,7 @@ func (*ReplicationControllerList) IsAnAPIObject() {}
|
||||
type ReplicationController struct {
|
||||
JSONBase `json:",inline" yaml:",inline"`
|
||||
DesiredState ReplicationControllerState `json:"desiredState,omitempty" yaml:"desiredState,omitempty"`
|
||||
CurrentState ReplicationControllerState `json:"currentState,omitempty" yaml:"currentState,omitempty"`
|
||||
Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"`
|
||||
}
|
||||
|
||||
|
@ -17,10 +17,10 @@ limitations under the License.
|
||||
package v1beta1
|
||||
|
||||
import (
|
||||
"github.com/fsouza/go-dockerclient"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/watch"
|
||||
"github.com/fsouza/go-dockerclient"
|
||||
)
|
||||
|
||||
// Common string formats
|
||||
@ -337,6 +337,7 @@ func (*ReplicationControllerList) IsAnAPIObject() {}
|
||||
type ReplicationController struct {
|
||||
JSONBase `json:",inline" yaml:",inline"`
|
||||
DesiredState ReplicationControllerState `json:"desiredState,omitempty" yaml:"desiredState,omitempty"`
|
||||
CurrentState ReplicationControllerState `json:"currentState,omitempty" yaml:"currentState,omitempty"`
|
||||
Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"`
|
||||
}
|
||||
|
||||
|
@ -92,6 +92,7 @@ func (rs *REST) Get(id string) (runtime.Object, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
rs.fillCurrentState(&controller)
|
||||
return controller, err
|
||||
}
|
||||
|
||||
@ -104,6 +105,7 @@ func (rs *REST) List(selector labels.Selector) (runtime.Object, error) {
|
||||
filtered := []api.ReplicationController{}
|
||||
for _, controller := range controllers.Items {
|
||||
if selector.Matches(labels.Set(controller.Labels)) {
|
||||
rs.fillCurrentState(&controller)
|
||||
filtered = append(filtered, controller)
|
||||
}
|
||||
}
|
||||
@ -164,3 +166,11 @@ func (rs *REST) waitForController(ctrl *api.ReplicationController) (runtime.Obje
|
||||
}
|
||||
return ctrl, nil
|
||||
}
|
||||
|
||||
func (rs *REST) fillCurrentState(ctrl *api.ReplicationController) error {
|
||||
list, err := rs.podLister.ListPods(ctrl.DesiredState.ReplicaSelector)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
ctrl.CurrentState.Replicas = len(list.Items)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user