Documentation
¶
Overview ¶
Package image provides commands for managing release images on btpeers.
Index ¶
- Constants
- func SelectBtpeerImageByUUID(config *labapi.RaspiosCrosBtpeerImageConfig, imageUUID string) (*labapi.RaspiosCrosBtpeerImageConfig_OSImage, error)
- func SelectBtpeerImageForDut(config *labapi.RaspiosCrosBtpeerImageConfig, dutHostname string) (*labapi.RaspiosCrosBtpeerImageConfig_OSImage, error)
- func SelectCurrentBtpeerImage(config *labapi.RaspiosCrosBtpeerImageConfig) (*labapi.RaspiosCrosBtpeerImageConfig_OSImage, error)
- func SelectNextBtpeerImage(config *labapi.RaspiosCrosBtpeerImageConfig) (*labapi.RaspiosCrosBtpeerImageConfig_OSImage, error)
- func SetSharedManagerInstance(m *Manager)
- type Manager
- func (m *Manager) Config() *labapi.RaspiosCrosBtpeerImageConfig
- func (m *Manager) ConfigObject() (string, *storage.ObjectHandle)
- func (m *Manager) DownloadImage(ctx context.Context, imageConfig *labapi.RaspiosCrosBtpeerImageConfig_OSImage, ...) (string, error)
- func (m *Manager) FetchConfig(ctx context.Context) error
- func (m *Manager) InitializeNewConfig(ctx context.Context, forceOverwriteExisting bool) error
- func (m *Manager) UpdateConfig(ctx context.Context, config *labapi.RaspiosCrosBtpeerImageConfig, ...) (*labapi.RaspiosCrosBtpeerImageConfig, error)
- func (m *Manager) UploadImage(ctx context.Context, imageFilePath string) (*labapi.RaspiosCrosBtpeerImageConfig_OSImage, error)
- func (m *Manager) ValidateConfig(config *labapi.RaspiosCrosBtpeerImageConfig) error
- type ManagerConfig
Constants ¶
const (
ChromeOSConnectivityTestArtifactsStorageBucket = "chromeos-connectivity-test-artifacts"
)
Variables ¶
This section is empty.
Functions ¶
func SelectBtpeerImageByUUID ¶
func SelectBtpeerImageByUUID(config *labapi.RaspiosCrosBtpeerImageConfig, imageUUID string) (*labapi.RaspiosCrosBtpeerImageConfig_OSImage, error)
SelectBtpeerImageByUUID returns the first image in config.Images with a matching image UUID. Returns non-nil error if no matching images found.
func SelectBtpeerImageForDut ¶
func SelectBtpeerImageForDut(config *labapi.RaspiosCrosBtpeerImageConfig, dutHostname string) (*labapi.RaspiosCrosBtpeerImageConfig_OSImage, error)
SelectBtpeerImageForDut returns the next image if the dutHostname is in the config.NextImageVerificationDutPool (see SelectNextBtpeerImage), or the current image if not (see SelectCurrentBtpeerImage).
func SelectCurrentBtpeerImage ¶
func SelectCurrentBtpeerImage(config *labapi.RaspiosCrosBtpeerImageConfig) (*labapi.RaspiosCrosBtpeerImageConfig_OSImage, error)
SelectCurrentBtpeerImage returns the current image, as defined by config.CurrentImageUuid. Returns a non-nil error if no matching images were found or if config.CurrentImageUuid is empty.
func SelectNextBtpeerImage ¶
func SelectNextBtpeerImage(config *labapi.RaspiosCrosBtpeerImageConfig) (*labapi.RaspiosCrosBtpeerImageConfig_OSImage, error)
SelectNextBtpeerImage returns the next image, as defined by config.NextImageUuid. If config.NextImageUuid is empty, the current image is selected instead via SelectCurrentBtpeerImage. Returns a non-nil error if no matching images were found.
func SetSharedManagerInstance ¶
func SetSharedManagerInstance(m *Manager)
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func NewManager ¶
func NewManager(ctx context.Context, managerConfig *ManagerConfig) (*Manager, error)
func SharedManagerInstance ¶
func SharedManagerInstance() *Manager
func (*Manager) Config ¶
func (m *Manager) Config() *labapi.RaspiosCrosBtpeerImageConfig
func (*Manager) ConfigObject ¶
func (m *Manager) ConfigObject() (string, *storage.ObjectHandle)
func (*Manager) DownloadImage ¶
func (*Manager) InitializeNewConfig ¶
func (*Manager) UpdateConfig ¶
func (m *Manager) UpdateConfig(ctx context.Context, config *labapi.RaspiosCrosBtpeerImageConfig, forceUpdate bool) (*labapi.RaspiosCrosBtpeerImageConfig, error)
func (*Manager) UploadImage ¶
func (m *Manager) UploadImage(ctx context.Context, imageFilePath string) (*labapi.RaspiosCrosBtpeerImageConfig_OSImage, error)
UploadImage will upload an image file located at imageFilePath and its *.info and raspios_cros_btpeer_build_info.json files expected to be in the same pi-gen-btpeer deploy dir like so:
pi-gen-btpeer/deploy/
<base_image_filename>.info image_<base_image_filename>.img(.xz|.gz)? raspios_cros_btpeer_build_info.json
func (*Manager) ValidateConfig ¶
func (m *Manager) ValidateConfig(config *labapi.RaspiosCrosBtpeerImageConfig) error