...

Text file src/github.com/openshift/api/machine/v1/stable.controlplanemachineset.testsuite.yaml

Documentation: github.com/openshift/api/machine/v1

     1apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if we don't have this
     2name: "[Stable] ControlPlaneMachineSet"
     3crd: 0000_10_controlplanemachineset.crd.yaml
     4tests:
     5  onCreate:
     6  - name: Should be able to create a minimal ControlPlaneMachineSet
     7    initial: |
     8      apiVersion: machine.openshift.io/v1
     9      kind: ControlPlaneMachineSet
    10      spec:
    11        selector:
    12          matchLabels:
    13            machine.openshift.io/cluster-api-machine-role: master
    14            machine.openshift.io/cluster-api-machine-type: master
    15        template:
    16          machineType: machines_v1beta1_machine_openshift_io
    17          machines_v1beta1_machine_openshift_io:
    18            metadata:
    19              labels:
    20                machine.openshift.io/cluster-api-machine-role: master
    21                machine.openshift.io/cluster-api-machine-type: master
    22                machine.openshift.io/cluster-api-cluster: cluster
    23            spec:
    24              providerSpec: {}
    25    expected: |
    26      apiVersion: machine.openshift.io/v1
    27      kind: ControlPlaneMachineSet
    28      spec:
    29        replicas: 3
    30        state: Inactive
    31        strategy:
    32          type: RollingUpdate
    33        selector:
    34          matchLabels:
    35            machine.openshift.io/cluster-api-machine-role: master
    36            machine.openshift.io/cluster-api-machine-type: master
    37        template:
    38          machineType: machines_v1beta1_machine_openshift_io
    39          machines_v1beta1_machine_openshift_io:
    40            metadata:
    41              labels:
    42                machine.openshift.io/cluster-api-machine-role: master
    43                machine.openshift.io/cluster-api-machine-type: master
    44                machine.openshift.io/cluster-api-cluster: cluster
    45            spec:
    46              providerSpec: {}
    47  - name: Should reject a missing machineType
    48    initial: |
    49      apiVersion: machine.openshift.io/v1
    50      kind: ControlPlaneMachineSet
    51      spec:
    52        selector:
    53          matchLabels:
    54            machine.openshift.io/cluster-api-machine-role: master
    55            machine.openshift.io/cluster-api-machine-type: master
    56        template:
    57          machines_v1beta1_machine_openshift_io:
    58            metadata:
    59              labels:
    60                machine.openshift.io/cluster-api-machine-role: master
    61                machine.openshift.io/cluster-api-machine-type: master
    62                machine.openshift.io/cluster-api-cluster: cluster
    63            spec:
    64              providerSpec: {}
    65    expectedError: "spec.template.machineType: Required value"
    66  - name: Should reject a missing machines_v1beta1_machine_openshift_io
    67    initial: |
    68      apiVersion: machine.openshift.io/v1
    69      kind: ControlPlaneMachineSet
    70      spec:
    71        selector:
    72          matchLabels:
    73            machine.openshift.io/cluster-api-machine-role: master
    74            machine.openshift.io/cluster-api-machine-type: master
    75        template:
    76          machineType: machines_v1beta1_machine_openshift_io
    77    expectedError: "spec.template: Invalid value: \"object\": machines_v1beta1_machine_openshift_io configuration is required when machineType is machines_v1beta1_machine_openshift_io, and forbidden otherwise"
    78  - name: Should reject a worker role label
    79    initial: |
    80      apiVersion: machine.openshift.io/v1
    81      kind: ControlPlaneMachineSet
    82      spec:
    83        selector:
    84          matchLabels:
    85            machine.openshift.io/cluster-api-machine-role: master
    86            machine.openshift.io/cluster-api-machine-type: master
    87        template:
    88          machineType: machines_v1beta1_machine_openshift_io
    89          machines_v1beta1_machine_openshift_io:
    90            metadata:
    91              labels:
    92                machine.openshift.io/cluster-api-machine-role: worker
    93                machine.openshift.io/cluster-api-machine-type: master
    94                machine.openshift.io/cluster-api-cluster: cluster
    95            spec:
    96              providerSpec: {}
    97    expectedError: "spec.template.machines_v1beta1_machine_openshift_io.metadata.labels: Invalid value: \"object\": label 'machine.openshift.io/cluster-api-machine-role' is required, and must have value 'master'"
    98  - name: Should reject a missing role label
    99    initial: |
   100      apiVersion: machine.openshift.io/v1
   101      kind: ControlPlaneMachineSet
   102      spec:
   103        selector:
   104          matchLabels:
   105            machine.openshift.io/cluster-api-machine-role: master
   106            machine.openshift.io/cluster-api-machine-type: master
   107        template:
   108          machineType: machines_v1beta1_machine_openshift_io
   109          machines_v1beta1_machine_openshift_io:
   110            metadata:
   111              labels:
   112                machine.openshift.io/cluster-api-machine-type: master
   113                machine.openshift.io/cluster-api-cluster: cluster
   114            spec:
   115              providerSpec: {}
   116    expectedError: "spec.template.machines_v1beta1_machine_openshift_io.metadata.labels: Invalid value: \"object\": label 'machine.openshift.io/cluster-api-machine-role' is required, and must have value 'master'"
   117  - name: Should reject a worker type label
   118    initial: |
   119      apiVersion: machine.openshift.io/v1
   120      kind: ControlPlaneMachineSet
   121      spec:
   122        selector:
   123          matchLabels:
   124            machine.openshift.io/cluster-api-machine-role: master
   125            machine.openshift.io/cluster-api-machine-type: master
   126        template:
   127          machineType: machines_v1beta1_machine_openshift_io
   128          machines_v1beta1_machine_openshift_io:
   129            metadata:
   130              labels:
   131                machine.openshift.io/cluster-api-machine-role: master
   132                machine.openshift.io/cluster-api-machine-type: worker
   133                machine.openshift.io/cluster-api-cluster: cluster
   134            spec:
   135              providerSpec: {}
   136    expectedError: "spec.template.machines_v1beta1_machine_openshift_io.metadata.labels: Invalid value: \"object\": label 'machine.openshift.io/cluster-api-machine-type' is required, and must have value 'master'"
   137  - name: Should reject a missing type label
   138    initial: |
   139      apiVersion: machine.openshift.io/v1
   140      kind: ControlPlaneMachineSet
   141      spec:
   142        selector:
   143          matchLabels:
   144            machine.openshift.io/cluster-api-machine-role: master
   145            machine.openshift.io/cluster-api-machine-type: master
   146        template:
   147          machineType: machines_v1beta1_machine_openshift_io
   148          machines_v1beta1_machine_openshift_io:
   149            metadata:
   150              labels:
   151                machine.openshift.io/cluster-api-machine-role: master
   152                machine.openshift.io/cluster-api-cluster: cluster
   153            spec:
   154              providerSpec: {}
   155    expectedError: "spec.template.machines_v1beta1_machine_openshift_io.metadata.labels: Invalid value: \"object\": label 'machine.openshift.io/cluster-api-machine-type' is required, and must have value 'master'"
   156  - name: Should reject a missing cluster ID label
   157    initial: |
   158      apiVersion: machine.openshift.io/v1
   159      kind: ControlPlaneMachineSet
   160      spec:
   161        selector:
   162          matchLabels:
   163            machine.openshift.io/cluster-api-machine-role: master
   164            machine.openshift.io/cluster-api-machine-type: master
   165        template:
   166          machineType: machines_v1beta1_machine_openshift_io
   167          machines_v1beta1_machine_openshift_io:
   168            metadata:
   169              labels:
   170                machine.openshift.io/cluster-api-machine-role: master
   171                machine.openshift.io/cluster-api-machine-type: master
   172            spec:
   173              providerSpec: {}
   174    expectedError: "spec.template.machines_v1beta1_machine_openshift_io.metadata.labels: Invalid value: \"object\": label 'machine.openshift.io/cluster-api-cluster' is required"
   175  - name: Should be able to create an Active ControlPlaneMachineSet
   176    initial: |
   177      apiVersion: machine.openshift.io/v1
   178      kind: ControlPlaneMachineSet
   179      spec:
   180        state: Active
   181        selector:
   182          matchLabels:
   183            machine.openshift.io/cluster-api-machine-role: master
   184            machine.openshift.io/cluster-api-machine-type: master
   185        template:
   186          machineType: machines_v1beta1_machine_openshift_io
   187          machines_v1beta1_machine_openshift_io:
   188            metadata:
   189              labels:
   190                machine.openshift.io/cluster-api-machine-role: master
   191                machine.openshift.io/cluster-api-machine-type: master
   192                machine.openshift.io/cluster-api-cluster: cluster
   193            spec:
   194              providerSpec: {}
   195    expected: |
   196      apiVersion: machine.openshift.io/v1
   197      kind: ControlPlaneMachineSet
   198      spec:
   199        replicas: 3
   200        state: Active
   201        strategy:
   202          type: RollingUpdate
   203        selector:
   204          matchLabels:
   205            machine.openshift.io/cluster-api-machine-role: master
   206            machine.openshift.io/cluster-api-machine-type: master
   207        template:
   208          machineType: machines_v1beta1_machine_openshift_io
   209          machines_v1beta1_machine_openshift_io:
   210            metadata:
   211              labels:
   212                machine.openshift.io/cluster-api-machine-role: master
   213                machine.openshift.io/cluster-api-machine-type: master
   214                machine.openshift.io/cluster-api-cluster: cluster
   215            spec:
   216              providerSpec: {}
   217  onUpdate:
   218  - name: Replicas should be immutable
   219    initial: |
   220      apiVersion: machine.openshift.io/v1
   221      kind: ControlPlaneMachineSet
   222      spec:
   223        replicas: 3
   224        state: Inactive
   225        strategy:
   226          type: RollingUpdate
   227        selector:
   228          matchLabels:
   229            machine.openshift.io/cluster-api-machine-role: master
   230            machine.openshift.io/cluster-api-machine-type: master
   231        template:
   232          machineType: machines_v1beta1_machine_openshift_io
   233          machines_v1beta1_machine_openshift_io:
   234            metadata:
   235              labels:
   236                machine.openshift.io/cluster-api-machine-role: master
   237                machine.openshift.io/cluster-api-machine-type: master
   238                machine.openshift.io/cluster-api-cluster: cluster
   239            spec:
   240              providerSpec: {}
   241    updated: |
   242      apiVersion: machine.openshift.io/v1
   243      kind: ControlPlaneMachineSet
   244      spec:
   245        replicas: 5
   246        state: Inactive
   247        strategy:
   248          type: RollingUpdate
   249        selector:
   250          matchLabels:
   251            machine.openshift.io/cluster-api-machine-role: master
   252            machine.openshift.io/cluster-api-machine-type: master
   253        template:
   254          machineType: machines_v1beta1_machine_openshift_io
   255          machines_v1beta1_machine_openshift_io:
   256            metadata:
   257              labels:
   258                machine.openshift.io/cluster-api-machine-role: master
   259                machine.openshift.io/cluster-api-machine-type: master
   260                machine.openshift.io/cluster-api-cluster: cluster
   261            spec:
   262              providerSpec: {}
   263    expectedError: "spec.replicas: Invalid value: \"integer\": replicas is immutable"
   264  - name: Selector should be immutable
   265    initial: |
   266      apiVersion: machine.openshift.io/v1
   267      kind: ControlPlaneMachineSet
   268      spec:
   269        replicas: 3
   270        state: Inactive
   271        strategy:
   272          type: RollingUpdate
   273        selector:
   274          matchLabels:
   275            machine.openshift.io/cluster-api-machine-role: master
   276            machine.openshift.io/cluster-api-machine-type: master
   277        template:
   278          machineType: machines_v1beta1_machine_openshift_io
   279          machines_v1beta1_machine_openshift_io:
   280            metadata:
   281              labels:
   282                machine.openshift.io/cluster-api-machine-role: master
   283                machine.openshift.io/cluster-api-machine-type: master
   284                machine.openshift.io/cluster-api-cluster: cluster
   285            spec:
   286              providerSpec: {}
   287    updated: |
   288      apiVersion: machine.openshift.io/v1
   289      kind: ControlPlaneMachineSet
   290      spec:
   291        replicas: 3
   292        state: Inactive
   293        strategy:
   294          type: RollingUpdate
   295        selector:
   296          matchLabels:
   297            machine.openshift.io/cluster-api-machine-role: master
   298            machine.openshift.io/cluster-api-machine-type: master
   299            foo: bar
   300        template:
   301          machineType: machines_v1beta1_machine_openshift_io
   302          machines_v1beta1_machine_openshift_io:
   303            metadata:
   304              labels:
   305                machine.openshift.io/cluster-api-machine-role: master
   306                machine.openshift.io/cluster-api-machine-type: master
   307                machine.openshift.io/cluster-api-cluster: cluster
   308            spec:
   309              providerSpec: {}
   310    expectedError: "spec.selector: Invalid value: \"object\": selector is immutable"
   311  - name: Should default the strategy when removed
   312    initial: |
   313      apiVersion: machine.openshift.io/v1
   314      kind: ControlPlaneMachineSet
   315      spec:
   316        replicas: 3
   317        state: Inactive
   318        strategy:
   319          type: OnDelete
   320        selector:
   321          matchLabels:
   322            machine.openshift.io/cluster-api-machine-role: master
   323            machine.openshift.io/cluster-api-machine-type: master
   324        template:
   325          machineType: machines_v1beta1_machine_openshift_io
   326          machines_v1beta1_machine_openshift_io:
   327            metadata:
   328              labels:
   329                machine.openshift.io/cluster-api-machine-role: master
   330                machine.openshift.io/cluster-api-machine-type: master
   331                machine.openshift.io/cluster-api-cluster: cluster
   332            spec:
   333              providerSpec: {}
   334    updated: |
   335      apiVersion: machine.openshift.io/v1
   336      kind: ControlPlaneMachineSet
   337      spec:
   338        replicas: 3
   339        state: Inactive
   340        selector:
   341          matchLabels:
   342            machine.openshift.io/cluster-api-machine-role: master
   343            machine.openshift.io/cluster-api-machine-type: master
   344        template:
   345          machineType: machines_v1beta1_machine_openshift_io
   346          machines_v1beta1_machine_openshift_io:
   347            metadata:
   348              labels:
   349                machine.openshift.io/cluster-api-machine-role: master
   350                machine.openshift.io/cluster-api-machine-type: master
   351                machine.openshift.io/cluster-api-cluster: cluster
   352            spec:
   353              providerSpec: {}
   354    expected: |
   355      apiVersion: machine.openshift.io/v1
   356      kind: ControlPlaneMachineSet
   357      spec:
   358        replicas: 3
   359        state: Inactive
   360        strategy:
   361          type: RollingUpdate
   362        selector:
   363          matchLabels:
   364            machine.openshift.io/cluster-api-machine-role: master
   365            machine.openshift.io/cluster-api-machine-type: master
   366        template:
   367          machineType: machines_v1beta1_machine_openshift_io
   368          machines_v1beta1_machine_openshift_io:
   369            metadata:
   370              labels:
   371                machine.openshift.io/cluster-api-machine-role: master
   372                machine.openshift.io/cluster-api-machine-type: master
   373                machine.openshift.io/cluster-api-cluster: cluster
   374            spec:
   375              providerSpec: {}
   376  - name: Should allow the state to change to Active
   377    initial: |
   378      apiVersion: machine.openshift.io/v1
   379      kind: ControlPlaneMachineSet
   380      spec:
   381        replicas: 3
   382        state: Inactive
   383        strategy:
   384          type: RollingUpdate
   385        selector:
   386          matchLabels:
   387            machine.openshift.io/cluster-api-machine-role: master
   388            machine.openshift.io/cluster-api-machine-type: master
   389        template:
   390          machineType: machines_v1beta1_machine_openshift_io
   391          machines_v1beta1_machine_openshift_io:
   392            metadata:
   393              labels:
   394                machine.openshift.io/cluster-api-machine-role: master
   395                machine.openshift.io/cluster-api-machine-type: master
   396                machine.openshift.io/cluster-api-cluster: cluster
   397            spec:
   398              providerSpec: {}
   399    updated: |
   400      apiVersion: machine.openshift.io/v1
   401      kind: ControlPlaneMachineSet
   402      spec:
   403        replicas: 3
   404        state: Active
   405        strategy:
   406          type: RollingUpdate
   407        selector:
   408          matchLabels:
   409            machine.openshift.io/cluster-api-machine-role: master
   410            machine.openshift.io/cluster-api-machine-type: master
   411        template:
   412          machineType: machines_v1beta1_machine_openshift_io
   413          machines_v1beta1_machine_openshift_io:
   414            metadata:
   415              labels:
   416                machine.openshift.io/cluster-api-machine-role: master
   417                machine.openshift.io/cluster-api-machine-type: master
   418                machine.openshift.io/cluster-api-cluster: cluster
   419            spec:
   420              providerSpec: {}
   421    expected: |
   422      apiVersion: machine.openshift.io/v1
   423      kind: ControlPlaneMachineSet
   424      spec:
   425        replicas: 3
   426        state: Active
   427        strategy:
   428          type: RollingUpdate
   429        selector:
   430          matchLabels:
   431            machine.openshift.io/cluster-api-machine-role: master
   432            machine.openshift.io/cluster-api-machine-type: master
   433        template:
   434          machineType: machines_v1beta1_machine_openshift_io
   435          machines_v1beta1_machine_openshift_io:
   436            metadata:
   437              labels:
   438                machine.openshift.io/cluster-api-machine-role: master
   439                machine.openshift.io/cluster-api-machine-type: master
   440                machine.openshift.io/cluster-api-cluster: cluster
   441            spec:
   442              providerSpec: {}
   443  - name: Should not allow the state to change from Active
   444    initial: |
   445      apiVersion: machine.openshift.io/v1
   446      kind: ControlPlaneMachineSet
   447      spec:
   448        replicas: 3
   449        state: Active
   450        strategy:
   451          type: RollingUpdate
   452        selector:
   453          matchLabels:
   454            machine.openshift.io/cluster-api-machine-role: master
   455            machine.openshift.io/cluster-api-machine-type: master
   456        template:
   457          machineType: machines_v1beta1_machine_openshift_io
   458          machines_v1beta1_machine_openshift_io:
   459            metadata:
   460              labels:
   461                machine.openshift.io/cluster-api-machine-role: master
   462                machine.openshift.io/cluster-api-machine-type: master
   463                machine.openshift.io/cluster-api-cluster: cluster
   464            spec:
   465              providerSpec: {}
   466    updated: |
   467      apiVersion: machine.openshift.io/v1
   468      kind: ControlPlaneMachineSet
   469      spec:
   470        replicas: 3
   471        state: Inactive
   472        strategy:
   473          type: RollingUpdate
   474        selector:
   475          matchLabels:
   476            machine.openshift.io/cluster-api-machine-role: master
   477            machine.openshift.io/cluster-api-machine-type: master
   478        template:
   479          machineType: machines_v1beta1_machine_openshift_io
   480          machines_v1beta1_machine_openshift_io:
   481            metadata:
   482              labels:
   483                machine.openshift.io/cluster-api-machine-role: master
   484                machine.openshift.io/cluster-api-machine-type: master
   485                machine.openshift.io/cluster-api-cluster: cluster
   486            spec:
   487              providerSpec: {}
   488    expectedError: "spec.state: Invalid value: \"string\": state cannot be changed once Active"

View as plain text