mysql: kubedb.dev/mysql/test/e2e/framework Index | Files

package framework

import "kubedb.dev/mysql/test/e2e/framework"

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Package Files

admission_controller.go appbinding.go crd.go database.go dormantdatabase.go framework.go mysql.go mysql_group.go namespace.go pvc.go rbac.go secret.go snapshot.go stash.go util.go

Constants

const (
    GET                = "get"
    LIST               = "list"
    PATCH              = "patch"
    CREATE             = "create"
    UPDATE             = "update"
    USE                = "use"
    POLICY             = "policy"
    Role               = "Role"
    ServiceAccount     = "ServiceAccount"
    CustomSecretSuffix = "custom-secret"

    KeyMySQLUser     = "username"
    KeyMySQLPassword = "password"
)

Variables

var (
    DockerRegistry     = "kubedbci"
    SelfHostedOperator = true
    DBCatalogName      = "8.0.14"
)
var (
    JobPvcStorageSize = "2Gi"
    DBPvcStorageSize  = "1Gi"
)
var (
    StashMySQLBackupTask  = "my-backup-8.0.14"
    StashMySQLRestoreTask = "my-restore-8.0.14"
)

type Framework Uses

type Framework struct {
    StorageClass string
    // contains filtered or unexported fields
}

func New Uses

func New(
    restConfig *rest.Config,
    kubeClient kubernetes.Interface,
    apiExtKubeClient crd_cs.ApiextensionsV1beta1Interface,
    dbClient cs.Interface,
    kaClient ka.Interface,
    appCatalogClient appcat_cs.AppcatalogV1alpha1Interface,
    stashClient scs.Interface,
    storageClass string,
) *Framework

func (*Framework) CheckAppBindingSpec Uses

func (f *Framework) CheckAppBindingSpec(meta metav1.ObjectMeta) error

func (*Framework) CheckSecret Uses

func (f *Framework) CheckSecret(secret *core.Secret) error

func (*Framework) CleanAdmissionConfigs Uses

func (f *Framework) CleanAdmissionConfigs()

func (*Framework) CleanDormantDatabase Uses

func (f *Framework) CleanDormantDatabase()

func (*Framework) CleanMySQL Uses

func (f *Framework) CleanMySQL()

func (*Framework) CleanSnapshot Uses

func (f *Framework) CleanSnapshot()

func (*Framework) CleanWorkloadLeftOvers Uses

func (f *Framework) CleanWorkloadLeftOvers()

func (*Framework) CreateBackupConfiguration Uses

func (f *Framework) CreateBackupConfiguration(backupCfg *stashv1beta1.BackupConfiguration) error

func (*Framework) CreateMySQL Uses

func (f *Framework) CreateMySQL(obj *api.MySQL) error

func (*Framework) CreateNamespace Uses

func (f *Framework) CreateNamespace() error

func (*Framework) CreateRepository Uses

func (f *Framework) CreateRepository(repo *stashV1alpha1.Repository) error

func (*Framework) CreateRestoreSession Uses

func (f *Framework) CreateRestoreSession(restoreSession *stashv1beta1.RestoreSession) error

func (*Framework) CreateRole Uses

func (f *Framework) CreateRole(obj *rbac.Role) error

func (*Framework) CreateRoleBinding Uses

func (f *Framework) CreateRoleBinding(obj *rbac.RoleBinding) error

func (*Framework) CreateSecret Uses

func (f *Framework) CreateSecret(obj *core.Secret) error

TODO: Add more methods for Swift, Backblaze B2, Rest server backend.

func (*Framework) CreateServiceAccount Uses

func (f *Framework) CreateServiceAccount(obj *core.ServiceAccount) error

func (*Framework) CreateSnapshot Uses

func (f *Framework) CreateSnapshot(obj *api.Snapshot) error

func (*Framework) DeleteBackupConfiguration Uses

func (f *Framework) DeleteBackupConfiguration(meta metav1.ObjectMeta) error

func (*Framework) DeleteConfigMap Uses

func (f *Framework) DeleteConfigMap(meta metav1.ObjectMeta) error

func (*Framework) DeleteDormantDatabase Uses

func (f *Framework) DeleteDormantDatabase(meta metav1.ObjectMeta) error

func (*Framework) DeleteMySQL Uses

func (f *Framework) DeleteMySQL(meta metav1.ObjectMeta) error

func (*Framework) DeleteNamespace Uses

func (f *Framework) DeleteNamespace() error

func (*Framework) DeleteRepository Uses

func (f *Framework) DeleteRepository(meta metav1.ObjectMeta) error

func (*Framework) DeleteRestoreSession Uses

func (f *Framework) DeleteRestoreSession(meta metav1.ObjectMeta) error

func (*Framework) DeleteSecret Uses

func (f *Framework) DeleteSecret(meta metav1.ObjectMeta) error

func (*Framework) DeleteSnapshot Uses

func (f *Framework) DeleteSnapshot(meta metav1.ObjectMeta) error

func (*Framework) EventuallyAPIServiceReady Uses

func (f *Framework) EventuallyAPIServiceReady() GomegaAsyncAssertion

func (*Framework) EventuallyAppBinding Uses

func (f *Framework) EventuallyAppBinding(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EventuallyBackupSessionPhase Uses

func (f *Framework) EventuallyBackupSessionPhase(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EventuallyCRD Uses

func (f *Framework) EventuallyCRD() GomegaAsyncAssertion

func (*Framework) EventuallyCountRow Uses

func (f *Framework) EventuallyCountRow(meta metav1.ObjectMeta, dbName string, clientPodIndex int) GomegaAsyncAssertion

func (*Framework) EventuallyCreateDatabase Uses

func (f *Framework) EventuallyCreateDatabase(meta metav1.ObjectMeta, dbName string) GomegaAsyncAssertion

func (*Framework) EventuallyCreateTable Uses

func (f *Framework) EventuallyCreateTable(meta metav1.ObjectMeta, dbName string) GomegaAsyncAssertion

func (*Framework) EventuallyDBSecretCount Uses

func (f *Framework) EventuallyDBSecretCount(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EventuallyDatabaseReady Uses

func (f *Framework) EventuallyDatabaseReady(meta metav1.ObjectMeta, dbName string) GomegaAsyncAssertion

func (*Framework) EventuallyDormantDatabase Uses

func (f *Framework) EventuallyDormantDatabase(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EventuallyDormantDatabaseStatus Uses

func (f *Framework) EventuallyDormantDatabaseStatus(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EventuallyGetPrimaryHostIndex Uses

func (f *Framework) EventuallyGetPrimaryHostIndex(meta metav1.ObjectMeta, dbName string, clientPodIndex int) GomegaAsyncAssertion

func (*Framework) EventuallyInsertRow Uses

func (f *Framework) EventuallyInsertRow(meta metav1.ObjectMeta, dbName string, clientPodIndex, total int) GomegaAsyncAssertion

func (*Framework) EventuallyJobPVCSize Uses

func (f *Framework) EventuallyJobPVCSize(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EventuallyJobVolumeEmptyDirSize Uses

func (f *Framework) EventuallyJobVolumeEmptyDirSize(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EventuallyMultipleSnapshotFinishedProcessing Uses

func (f *Framework) EventuallyMultipleSnapshotFinishedProcessing(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EventuallyMySQL Uses

func (f *Framework) EventuallyMySQL(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EventuallyMySQLPhase Uses

func (f *Framework) EventuallyMySQLPhase(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EventuallyMySQLRunning Uses

func (f *Framework) EventuallyMySQLRunning(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EventuallyMySQLVariable Uses

func (f *Framework) EventuallyMySQLVariable(meta metav1.ObjectMeta, dbName string, config string) GomegaAsyncAssertion

func (*Framework) EventuallyONLINEMembersCount Uses

func (f *Framework) EventuallyONLINEMembersCount(meta metav1.ObjectMeta, dbName string, clientPodIndex int) GomegaAsyncAssertion

func (*Framework) EventuallyPVCCount Uses

func (f *Framework) EventuallyPVCCount(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EventuallyRestoreSessionPhase Uses

func (f *Framework) EventuallyRestoreSessionPhase(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EventuallySnapshot Uses

func (f *Framework) EventuallySnapshot(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EventuallySnapshotCount Uses

func (f *Framework) EventuallySnapshotCount(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EventuallySnapshotDataFound Uses

func (f *Framework) EventuallySnapshotDataFound(snapshot *api.Snapshot) GomegaAsyncAssertion

func (*Framework) EventuallySnapshotPhase Uses

func (f *Framework) EventuallySnapshotPhase(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EventuallyWipedOut Uses

func (f *Framework) EventuallyWipedOut(meta metav1.ObjectMeta) GomegaAsyncAssertion

func (*Framework) EvictPodsFromStatefulSet Uses

func (f *Framework) EvictPodsFromStatefulSet(meta metav1.ObjectMeta) error

func (*Framework) FoundStashCRDs Uses

func (f *Framework) FoundStashCRDs() bool

func (*Framework) GetDormantDatabase Uses

func (f *Framework) GetDormantDatabase(meta metav1.ObjectMeta) (*api.DormantDatabase, error)

func (*Framework) GetMySQL Uses

func (f *Framework) GetMySQL(meta metav1.ObjectMeta) (*api.MySQL, error)

func (*Framework) GetMySQLRootPassword Uses

func (f *Framework) GetMySQLRootPassword(mysql *api.MySQL) (string, error)

func (*Framework) GetPrimaryHostIndex Uses

func (f *Framework) GetPrimaryHostIndex(meta metav1.ObjectMeta, dbName string, clientPodIndex int) int

func (*Framework) GetSecret Uses

func (f *Framework) GetSecret(meta metav1.ObjectMeta) (*core.Secret, error)

func (*Framework) GetSnapshot Uses

func (f *Framework) GetSnapshot(meta metav1.ObjectMeta) (*api.Snapshot, error)

func (*Framework) GetSnapshotList Uses

func (f *Framework) GetSnapshotList(meta metav1.ObjectMeta) (*api.SnapshotList, error)

func (*Framework) InsertRowFromSecondary Uses

func (f *Framework) InsertRowFromSecondary(meta metav1.ObjectMeta, dbName string, clientPodIndex int) GomegaAsyncAssertion

func (*Framework) Invoke Uses

func (f *Framework) Invoke() *Invocation

func (*Framework) Namespace Uses

func (f *Framework) Namespace() string

func (*Framework) PatchDormantDatabase Uses

func (f *Framework) PatchDormantDatabase(meta metav1.ObjectMeta, transform func(*api.DormantDatabase) *api.DormantDatabase) (*api.DormantDatabase, error)

func (*Framework) PatchMySQL Uses

func (f *Framework) PatchMySQL(meta metav1.ObjectMeta, transform func(*api.MySQL) *api.MySQL) (*api.MySQL, error)

func (*Framework) RemoverPrimaryToFailover Uses

func (f *Framework) RemoverPrimaryToFailover(meta metav1.ObjectMeta, primaryPodIndex int) error

func (*Framework) RunOperatorAndServer Uses

func (f *Framework) RunOperatorAndServer(config *restclient.Config, kubeconfigPath string, stopCh <-chan struct{})

func (*Framework) UpdateSecret Uses

func (f *Framework) UpdateSecret(meta metav1.ObjectMeta, transformer func(core.Secret) core.Secret) error

func (*Framework) WaitUntilBackkupSessionBeCreated Uses

func (f *Framework) WaitUntilBackkupSessionBeCreated(bcMeta metav1.ObjectMeta) (bs *stashv1beta1.BackupSession, err error)

func (*Framework) WaitUntilPodRunningBySelector Uses

func (f *Framework) WaitUntilPodRunningBySelector(mysql *api.MySQL) error

type Invocation Uses

type Invocation struct {
    *Framework
    // contains filtered or unexported fields
}

func (*Invocation) App Uses

func (fi *Invocation) App() string

func (*Invocation) BackupConfiguration Uses

func (f *Invocation) BackupConfiguration(meta metav1.ObjectMeta) *stashv1beta1.BackupConfiguration

func (*Invocation) CreateConfigMap Uses

func (f *Invocation) CreateConfigMap(obj *core.ConfigMap) error

func (*Invocation) CreatePersistentVolumeClaim Uses

func (f *Invocation) CreatePersistentVolumeClaim(pvc *core.PersistentVolumeClaim) error

func (*Invocation) DeletePersistentVolumeClaim Uses

func (f *Invocation) DeletePersistentVolumeClaim(meta metav1.ObjectMeta) error

func (*Invocation) ExtClient Uses

func (fi *Invocation) ExtClient() cs.Interface

func (*Invocation) GetCustomConfig Uses

func (f *Invocation) GetCustomConfig(configs []string) *core.ConfigMap

func (*Invocation) GetPersistentVolumeClaim Uses

func (f *Invocation) GetPersistentVolumeClaim() *core.PersistentVolumeClaim

func (*Invocation) MySQL Uses

func (f *Invocation) MySQL() *api.MySQL

func (*Invocation) MySQLGroup Uses

func (f *Invocation) MySQLGroup() *api.MySQL

func (*Invocation) PatchSecretForRestic Uses

func (i *Invocation) PatchSecretForRestic(secret *core.Secret) *core.Secret

func (*Invocation) Repository Uses

func (f *Invocation) Repository(meta metav1.ObjectMeta, secretName string) *stashV1alpha1.Repository

func (*Invocation) RestoreSession Uses

func (f *Invocation) RestoreSession(meta, oldMeta metav1.ObjectMeta) *stashv1beta1.RestoreSession

func (*Invocation) RoleBinding Uses

func (i *Invocation) RoleBinding(saName string, roleName string) *rbac.RoleBinding

func (*Invocation) RoleForMySQL Uses

func (i *Invocation) RoleForMySQL(meta metav1.ObjectMeta) *rbac.Role

func (*Invocation) RoleForSnapshot Uses

func (i *Invocation) RoleForSnapshot(meta metav1.ObjectMeta) *rbac.Role

func (*Invocation) SecretForAzureBackend Uses

func (fi *Invocation) SecretForAzureBackend() *core.Secret

func (*Invocation) SecretForDatabaseAuthentication Uses

func (i *Invocation) SecretForDatabaseAuthentication(meta metav1.ObjectMeta, mangedByKubeDB bool) *core.Secret

func (*Invocation) SecretForGCSBackend Uses

func (fi *Invocation) SecretForGCSBackend() *core.Secret

func (*Invocation) SecretForLocalBackend Uses

func (fi *Invocation) SecretForLocalBackend() *core.Secret

func (*Invocation) SecretForS3Backend Uses

func (fi *Invocation) SecretForS3Backend() *core.Secret

func (*Invocation) SecretForSwiftBackend Uses

func (fi *Invocation) SecretForSwiftBackend() *core.Secret

func (*Invocation) ServiceAccount Uses

func (i *Invocation) ServiceAccount() *core.ServiceAccount

func (*Invocation) Snapshot Uses

func (f *Invocation) Snapshot() *api.Snapshot

type KubedbTable Uses

type KubedbTable struct {
    Id   int64
    Name string
}

Package framework imports 57 packages (graph). Updated 2020-01-07. Refresh now. Tools for package owners.