Comments (5)
- We had hive installed via rhacm multiclusterhub and rhacm (version 2.4) was installed via operatorhub on source cluster and rhacm version 2.6 on target cluster via operatorhub
- The source cluster is turned off but there is no hive operator in hive namespace ( there are hive controllers and hive admission deployments are present)
- Openshift Version of both cluster is 4.9
- We turned off the source cluster so don't have logs anymore
- ClusterDeployment did not move and the relocation stopped at the configmap error
The source cluster where we are moving from we successfully moved 4 openshift clusters (ClusterDeployments/configmaps/secrets) all to new hive but one got stuck in it , I tried it many times but last one stayed stuck because it kept saying the configmaps already exists. I tried to update the configmap or tried deleting the namespace to beat the race condition but nothing helped.
Yes , I know the configmap creation feature in namespace came in 1.20 But I strongly feel it should be handled. As We had to turn off the old hub we just imported the cluster in rhacm for now and turned it off without moving clusterdeployment and machinepools.
Great that you created a bug and please can you give us updates on it so we can follow up here.
from hive.
Tracking via https://issues.redhat.com/browse/HIVE-2080
from hive.
Howdy! I'm looking into this, but lots of people have lots of vacation until January, so it may be a little bit.
In the meantime, can you please tell me how you are installing hive, and at what version? See more complete list of questions below.
from hive.
Couple of things I've discovered/surmised:
- This is a timing problem. The code path that attempts to copy configmaps has logic like: Create() => if error == AlreadyExists, Delete() and Create() again => if error again, bail. The kube-controller-manager reconciles these configmaps; so the error only happens if it manages to do so between that Delete()/Create(). I was able to do a relocate in my test bed, so it doesn't always happen. My logs show that it did indeed replace the objects, but the configmaps contain the proper (destination) data so the k-c-m did revert them after.
- Why hasn't this come up before? Well, the relocate feature was merged in June 2020 when supported OpenShift versions were 4.2 to 4.4 (source). The k-c-m code that creates these configmaps was introduced in k8s 1.21 (citation needed -- this is hearsay from a slack thread @wking found for me). The first OpenShift version to use k8s 1.21 was 4.8 (source) which GAed a in July 2021 (same source as above). I'm not going to assert that y'all are the first to try using relocation in the past 1.5y and/or 4-5 releases, but it's not impossible :) Also possible others just didn't hit the timing problem.
I'm afraid I don't have a workaround for you. I'm looking into code changes that would help. In the meantime, the below would really help me out:
- How are you installing hive? From OperatorHub or $other? (asked above, copied here for completeness)
- What version of hive is running? Output of
oc logs -n hive deploy/hive-operator | head -1
(s/-n hive
/appropriate namespace/ if needed). On both sides of the relocate, please. (ditto) - OpenShift/k8s versions on both sides. Output of
oc version
. - Logs from the clusterrelocate controller on both sides. Output of
oc logs -n hive deploy/hive-controllers | grep controller=clusterRelocate
(s/// namespace again if necessary). - Does the ClusterDeployment exist on the destination? Long shot; but if it does, it may just mean that we have a code path that does the right things, but doesn't clean up status properly.
from hive.
We track bugs in Jira, so I've created https://issues.redhat.com/browse/HIVE-2080 for this one. Please feel free to follow along there.
from hive.
Related Issues (20)
- Error "Required value: must specify a platform" for field "spec.platform". HOT 2
- Internal Install using Private Link - Logs HOT 6
- hive upgrade to 1.1.6 is expecting CRD API version to be v1beta instead of v1 HOT 5
- Ability to Override httpCustomErrorCodePages in ClusterDeployment HOT 7
- Implement Openstack Hibernation HOT 9
- Pass skip_provider_registration flag HOT 2
- How to make Hive trust new API cert in managed cluster? HOT 6
- Rotating the admin kubeconfig after 10 years HOT 6
- Install fails on ClusterRoleBinding HOT 7
- Consider tagging submodule "apis"? HOT 2
- How if Hive released? HOT 1
- ClusterClaim-controller should watch for changes to RoleBindings as well HOT 1
- ClusterSync-controller's requeueAfter duration could be insufficient HOT 2
- Availability of Hive in ARM HOT 5
- hive-clustersync-0 - CreateContainerConfigError
- Provided SSH keypair not used for bootstrap node HOT 10
- Add IBM resource group flag in hiveutil HOT 3
- Missing Role and/or RoleBinding block clustercleanup HOT 3
- How to troubleshoot clusterpools? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hive.