Merge pull request #1771 from baude/prepare

move defer'd function declaration ahead of prepare error return
This commit is contained in:
OpenShift Merge Robot
2018-11-07 10:55:51 -08:00
committed by GitHub
3 changed files with 23 additions and 18 deletions

View File

@ -46,9 +46,6 @@ func (c *Container) Init(ctx context.Context) (err error) {
return errors.Wrapf(ErrCtrStateInvalid, "some dependencies of container %s are not started: %s", c.ID(), depString)
}
if err := c.prepare(); err != nil {
return err
}
defer func() {
if err != nil {
if err2 := c.cleanup(ctx); err2 != nil {
@ -57,6 +54,10 @@ func (c *Container) Init(ctx context.Context) (err error) {
}
}()
if err := c.prepare(); err != nil {
return err
}
if c.state.State == ContainerStateStopped {
// Reinitialize the container
return c.reinit(ctx)
@ -99,9 +100,6 @@ func (c *Container) Start(ctx context.Context) (err error) {
return errors.Wrapf(ErrCtrStateInvalid, "some dependencies of container %s are not started: %s", c.ID(), depString)
}
if err := c.prepare(); err != nil {
return err
}
defer func() {
if err != nil {
if err2 := c.cleanup(ctx); err2 != nil {
@ -110,6 +108,10 @@ func (c *Container) Start(ctx context.Context) (err error) {
}
}()
if err := c.prepare(); err != nil {
return err
}
if c.state.State == ContainerStateStopped {
// Reinitialize the container if we need to
if err := c.reinit(ctx); err != nil {
@ -164,9 +166,6 @@ func (c *Container) StartAndAttach(ctx context.Context, streams *AttachStreams,
return nil, errors.Wrapf(ErrCtrStateInvalid, "some dependencies of container %s are not started: %s", c.ID(), depString)
}
if err := c.prepare(); err != nil {
return nil, err
}
defer func() {
if err != nil {
if err2 := c.cleanup(ctx); err2 != nil {
@ -175,6 +174,10 @@ func (c *Container) StartAndAttach(ctx context.Context, streams *AttachStreams,
}
}()
if err := c.prepare(); err != nil {
return nil, err
}
if c.state.State == ContainerStateStopped {
// Reinitialize the container if we need to
if err := c.reinit(ctx); err != nil {

View File

@ -697,9 +697,6 @@ func (c *Container) initAndStart(ctx context.Context) (err error) {
return errors.Wrapf(ErrCtrStateInvalid, "cannot start paused container %s", c.ID())
}
if err := c.prepare(); err != nil {
return err
}
defer func() {
if err != nil {
if err2 := c.cleanup(ctx); err2 != nil {
@ -708,6 +705,10 @@ func (c *Container) initAndStart(ctx context.Context) (err error) {
}
}()
if err := c.prepare(); err != nil {
return err
}
// If we are ContainerStateStopped we need to remove from runtime
// And reset to ContainerStateConfigured
if c.state.State == ContainerStateStopped {
@ -788,9 +789,6 @@ func (c *Container) restartWithTimeout(ctx context.Context, timeout uint) (err e
return err
}
}
if err := c.prepare(); err != nil {
return err
}
defer func() {
if err != nil {
if err2 := c.cleanup(ctx); err2 != nil {
@ -798,6 +796,9 @@ func (c *Container) restartWithTimeout(ctx context.Context, timeout uint) (err e
}
}
}()
if err := c.prepare(); err != nil {
return err
}
if c.state.State == ContainerStateStopped {
// Reinitialize the container if we need to

View File

@ -496,9 +496,6 @@ func (c *Container) restore(ctx context.Context, keep bool) (err error) {
}
}
if err := c.prepare(); err != nil {
return err
}
defer func() {
if err != nil {
if err2 := c.cleanup(ctx); err2 != nil {
@ -507,6 +504,10 @@ func (c *Container) restore(ctx context.Context, keep bool) (err error) {
}
}()
if err := c.prepare(); err != nil {
return err
}
// TODO: use existing way to request static IPs, once it is merged in ocicni
// https://github.com/cri-o/ocicni/pull/23/