Skip to content

Conversation

@ironcladlou
Copy link
Contributor

@ironcladlou ironcladlou commented Dec 17, 2018

Add a config.openshift.io/DNS instance to the cluster to expose DNS configuration.

  • Update the openshift/api package to a version containing the new config type.
  • Generate the config.openshift.io/DNS custom resource definition manifest.
  • Generate the CRD instance manifest populated with base domain from the install config.

This enables consumers of DNS configuration to migrate away from install config.

Related to openshift/api#146.

/cc @openshift/sig-network-edge

@openshift-ci-robot openshift-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Dec 17, 2018
@ironcladlou
Copy link
Contributor Author

Still testing.

/hold

@openshift-ci-robot openshift-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Dec 17, 2018
@ironcladlou
Copy link
Contributor Author

This is largely cargo-culting from #717, so if there's better example to follow, please point me to it.

@ironcladlou
Copy link
Contributor Author

/hold cancel

@openshift-ci-robot openshift-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Dec 18, 2018
@wking
Copy link
Member

wking commented Dec 18, 2018

Can you squash the fixup commit in?

We also prefer having the vendor bump in it's own separate commit, to make it easier to distinguish between human- and machine-generated changes (see #717 for an example of this). But the vendor bump here is small enough that I'm fine leaving that in the same commit as the changes you wrote yourself if you don't want to bother splitting it out.

Update openshift/api to a level which includes DNS config.
Add a `config.openshift.io/DNS` instance to the cluster to expose DNS configuration.

* Update the `openshift/api` package to a version containing the new config type.
* Generate the `config.openshift.io/DNS` custom resource definition manifest.
* Generate the CRD instance manifest populated with base domain from the install config.

This enables consumers of DNS configuration to migrate away from install config.
@ironcladlou
Copy link
Contributor Author

@wking my team also uses separate commits for dependency updates, so no problem... split dependency bump into a new commit and squashed other changes. PTAL

@ironcladlou
Copy link
Contributor Author

@abhinavdahiya @wking @crawford PTAL, I have another one coming after this for cloud provider

@wking
Copy link
Member

wking commented Dec 18, 2018

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Dec 18, 2018
@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ironcladlou, wking

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 18, 2018
@abhinavdahiya
Copy link
Contributor

https://openshift-gce-devel.appspot.com/build/origin-ci-test/pr-logs/pull/openshift_installer/934/pull-ci-openshift-installer-master-e2e-aws/2387

2018/12/18 17:50:29 Copying artifacts from e2e-aws into /logs/artifacts/e2e-aws
2018/12/18 17:50:29 error: unable to signal to artifacts container to terminate in pod e2e-aws, triggering deletion: could not run remote command: unable to upgrade connection: container not found ("artifacts")
2018/12/18 17:50:29 error: unable to retrieve artifacts from pod e2e-aws: could not read gzipped artifacts: unable to upgrade connection: container not found ("artifacts")
E1218 17:50:34.426002      11 event.go:203] Server rejected event '&v1.Event{TypeMeta:v1.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:".15717eae579f5fe6", GenerateName:"", Namespace:"ci-op-q60jbthr", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, InvolvedObject:v1.ObjectReference{Kind:"", Namespace:"ci-op-q60jbthr", Name:"", UID:"", APIVersion:"", ResourceVersion:"", FieldPath:""}, Reason:"CiJobFailed", Message:"Running job pull-ci-openshift-installer-master-e2e-aws for PR https://github.com/openshift/installer/pull/934 in namespace ci-op-q60jbthr from author ironcladlou", Source:v1.EventSource{Component:"ci-op-q60jbthr", Host:""}, FirstTimestamp:v1.Time{Time:time.Time{wall:0xbefe6aba9949bbe6, ext:11451145957064, loc:(*time.Location)(0x19f83a0)}}, LastTimestamp:v1.Time{Time:time.Time{wall:0xbefe6aba9949bbe6, ext:11451145957064, loc:(*time.Location)(0x19f83a0)}}, Count:1, Type:"Warning", EventTime:v1.MicroTime{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, Series:(*v1.EventSeries)(nil), Action:"", Related:(*v1.ObjectReference)(nil), ReportingController:"", ReportingInstance:""}': 'events ".15717eae579f5fe6" is forbidden: unable to create new content in namespace ci-op-q60jbthr because it is being terminated' (will not retry!)
2018/12/18 17:50:35 Ran for 3h10m52s
error: could not run steps: could not wait for pod to complete: could not wait for pod completion: pod e2e-aws was already deleted

Hmm 😕

/retest

@ironcladlou
Copy link
Contributor Author

/retest

@ironcladlou
Copy link
Contributor Author

/cc @csrwng

@abhinavdahiya
Copy link
Contributor

@Miciah
Copy link
Contributor

Miciah commented Dec 18, 2018

Not sure it's relevant, but the operator is getting throttled by AWS when trying to look up the hosted zone, although it succeeds after a few minutes:

time="2018-12-18T18:23:01Z" level=info msg="reconciling request: reconcile.Request{NamespacedName:types.NamespacedName{Namespace:\"openshift-ingress\", Name:\"router-default\"}}"
time="2018-12-18T18:23:02Z" level=info msg="reconciling clusteringress v1alpha1.ClusterIngress{TypeMeta:v1.TypeMeta{Kind:\"ClusterIngress\", APIVersion:\"ingress.openshift.io/v1alpha1\"}, ObjectMeta:v1.ObjectMeta{Name:\"default\", GenerateName:\"\", Namespace:\"openshift-ingress-operator\", SelfLink:\"/apis/ingress.openshift.io/v1alpha1/namespaces/openshift-ingress-operator/clusteringresses/default\", UID:\"efc305ca-02f1-11e9-9a3d-0a75a4804858\", ResourceVersion:\"6414\", Generation:1, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:63680754174, loc:(*time.Location)(0x1d9f4c0)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string{\"ingress.openshift.io/default-cluster-ingress\"}, ClusterName:\"\"}, Spec:v1alpha1.ClusterIngressSpec{IngressDomain:(*string)(0xc4203930f0), NodePlacement:(*v1alpha1.NodePlacement)(0xc42009da68), DefaultCertificateSecret:(*string)(nil), NamespaceSelector:(*v1.LabelSelector)(nil), RouteSelector:(*v1.LabelSelector)(nil), HighAvailability:(*v1alpha1.ClusterIngressHighAvailability)(0xc4203930e0), UnsupportedExtensions:(*[]string)(nil)}, Status:v1alpha1.ClusterIngressStatus{}}"
time="2018-12-18T18:23:11Z" level=error msg="failed to list tags for hosted zone %!s(*string=0xc420b154c8): Throttling: Rate exceeded\n\tstatus code: 400, request id: f9bba970-02f1-11e9-b35f-7947070744f2"
time="2018-12-18T18:23:11Z" level=error msg="failed to reconcile: failed to ensure clusteringress openshift-ingress-operator/default: failed to ensure DNS for router service openshift-ingress/router-default: failed to update hosted zone cache: failed to list all hosted zone tags"

The above repeats 16 times before reconciliation eventually succeeds:

time="2018-12-18T18:27:40Z" level=info msg="reconciling request: reconcile.Request{NamespacedName:types.NamespacedName{Namespace:\"openshift-ingress-operator\", Name:\"default\"}}"
time="2018-12-18T18:27:40Z" level=info msg="reconciling clusteringress v1alpha1.ClusterIngress{TypeMeta:v1.TypeMeta{Kind:\"ClusterIngress\", APIVersion:\"ingress.openshift.io/v1alpha1\"}, ObjectMeta:v1.ObjectMeta{Name:\"default\", GenerateName:\"\", Namespace:\"openshift-ingress-operator\", SelfLink:\"/apis/ingress.openshift.io/v1alpha1/namespaces/openshift-ingress-operator/clusteringresses/default\", UID:\"efc305ca-02f1-11e9-9a3d-0a75a4804858\", ResourceVersion:\"6414\", Generation:1, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:63680754174, loc:(*time.Location)(0x1d9f4c0)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string{\"ingress.openshift.io/default-cluster-ingress\"}, ClusterName:\"\"}, Spec:v1alpha1.ClusterIngressSpec{IngressDomain:(*string)(0xc420982780), NodePlacement:(*v1alpha1.NodePlacement)(0xc4208da128), DefaultCertificateSecret:(*string)(nil), NamespaceSelector:(*v1.LabelSelector)(nil), RouteSelector:(*v1.LabelSelector)(nil), HighAvailability:(*v1alpha1.ClusterIngressHighAvailability)(0xc420982770), UnsupportedExtensions:(*[]string)(nil)}, Status:v1alpha1.ClusterIngressStatus{}}"
time="2018-12-18T18:27:47Z" level=info msg="updated DNS record in zone /hostedzone/Z328TAU66YDJH7, *.apps.ci-op-li6y99hw-1d3f3.origin-ci-int-aws.dev.rhcloud.com -> af252c1b702f111e99a3d0a75a480485-817089258.us-east-1.elb.amazonaws.com: {\n  ChangeInfo: {\n    Id: \"/change/C1WR84QZH4G4U3\",\n    Status: \"PENDING\",\n    SubmittedAt: 2018-12-18 18:27:47.748 +0000 UTC\n  }\n}"
time="2018-12-18T18:27:47Z" level=info msg="updated DNS record in zone /hostedzone/ZOQ3ECQ97EQOW, *.apps.ci-op-li6y99hw-1d3f3.origin-ci-int-aws.dev.rhcloud.com -> af252c1b702f111e99a3d0a75a480485-817089258.us-east-1.elb.amazonaws.com: {\n  ChangeInfo: {\n    Id: \"/change/C120AVCG0US1E2\",\n    Status: \"PENDING\",\n    SubmittedAt: 2018-12-18 18:27:47.778 +0000 UTC\n  }\n}"

@Miciah
Copy link
Contributor

Miciah commented Dec 18, 2018

level=error msg="\t* aws_route53_record.etcd_a_nodes.1: timeout while waiting for state to become 'INSYNC' (last state: 'PENDING', timeout: 30m0s)"

/retest

@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

1 similar comment
@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

@openshift-merge-robot openshift-merge-robot merged commit 8d4df85 into openshift:master Dec 19, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants