mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-02 16:29:21 +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 {
|
type ReplicationController struct {
|
||||||
JSONBase `json:",inline" yaml:",inline"`
|
JSONBase `json:",inline" yaml:",inline"`
|
||||||
DesiredState ReplicationControllerState `json:"desiredState,omitempty" yaml:"desiredState,omitempty"`
|
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"`
|
Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,10 +17,10 @@ limitations under the License.
|
|||||||
package v1beta1
|
package v1beta1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/fsouza/go-dockerclient"
|
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/watch"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/watch"
|
||||||
|
"github.com/fsouza/go-dockerclient"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Common string formats
|
// Common string formats
|
||||||
@ -337,6 +337,7 @@ func (*ReplicationControllerList) IsAnAPIObject() {}
|
|||||||
type ReplicationController struct {
|
type ReplicationController struct {
|
||||||
JSONBase `json:",inline" yaml:",inline"`
|
JSONBase `json:",inline" yaml:",inline"`
|
||||||
DesiredState ReplicationControllerState `json:"desiredState,omitempty" yaml:"desiredState,omitempty"`
|
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"`
|
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 {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
rs.fillCurrentState(&controller)
|
||||||
return controller, err
|
return controller, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -104,6 +105,7 @@ func (rs *REST) List(selector labels.Selector) (runtime.Object, error) {
|
|||||||
filtered := []api.ReplicationController{}
|
filtered := []api.ReplicationController{}
|
||||||
for _, controller := range controllers.Items {
|
for _, controller := range controllers.Items {
|
||||||
if selector.Matches(labels.Set(controller.Labels)) {
|
if selector.Matches(labels.Set(controller.Labels)) {
|
||||||
|
rs.fillCurrentState(&controller)
|
||||||
filtered = append(filtered, controller)
|
filtered = append(filtered, controller)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -164,3 +166,11 @@ func (rs *REST) waitForController(ctrl *api.ReplicationController) (runtime.Obje
|
|||||||
}
|
}
|
||||||
return ctrl, nil
|
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