Description of problem: When user want to move a node role to msgserver host, it failed. And actually this functionality should not be allow, because once move is allowed, that means the node role should be removed from previous host, that will bring a lot of trouble to complete that. So suggest remove "move role" functionality from menu. $ ./oo-install -e -a Checking for necessary tools... ...looks good. Reusing existing installer assets. Extracting oo-install to temporary directory... Starting oo-install... OpenShift Installer ---------------------------------------------------------------------- Welcome to OpenShift. This installer will guide you through a basic system deployment, based on one of the scenarios below. Select from the following installation scenarios. You can also type '?' for Help or 'q' to Quit.": 1. Install OpenShift Enterprise 2. Add a Node to OpenShift Enterprise Type a selection and press <return>: 2 Here are the details of your current deployment. DNS Settings * App Domain: my-osebeta.com.cn * Register OpenShift components with OpenShift DNS? Yes * Component Domain: my-com.com.cn Role Assignments +-----------+--------+ | Broker | broker | | MsgServer | msg | | DBServer | db | | Nodes | msg | | | node | +-----------+--------+ Host Information +----------+-------------+ | Host | broker | | Roles | Broker | | SSH Host | 10.4.59.164 | | User | root | | IP Addr | 10.4.59.164 | +----------+-------------+ +----------+-----------------+ | Host | msg | | Roles | MsgServer, Node | | SSH Host | 10.4.59.156 | | User | root | | IP Addr | 10.4.59.156 | +----------+-----------------+ +----------+-------------+ | Host | db | | Roles | DBServer | | SSH Host | 10.4.59.149 | | User | root | | IP Addr | 10.4.59.149 | +----------+-------------+ +----------+-------------+ | Host | node | | Roles | Node | | SSH Host | 10.4.59.144 | | User | root | | IP Addr | 10.4.59.144 | +----------+-------------+ Do you want to change the deployment info? (y/n/q/?) y Choose from the following deployment configuration options: 1. Change the DNS configuration 2. Move an OpenShift role to a different host 3. Modify the information for an existing host 4. Add or remove a Node host 5. Finish editing the deployment configuration Type a selection and press <return>: 2 Which role do you want to move to a different host?: 1. Broker 2. MsgServer 3. DBServer 4. Node Type a selection and press <return>: 4 Which host should no longer include the role?: 1. msg (MsgServer, Node) 2. node (Node) Type a selection and press <return>: 1 Select a host to use for this role:: 1. broker (Broker) 2. db (DBServer) 3. Create a new host Type a selection and press <return>: 1 Here are the details of your current deployment. DNS Settings * App Domain: my-osebeta.com.cn * Register OpenShift components with OpenShift DNS? Yes * Component Domain: my-com.com.cn Role Assignments +-----------+--------+ | Broker | broker | | MsgServer | msg | | DBServer | db | | Nodes | broker | | | node | +-----------+--------+ Host Information +----------+--------------+ | Host | broker | | Roles | Broker, Node | | SSH Host | 10.4.59.164 | | User | root | | IP Addr | 10.4.59.164 | +----------+--------------+ +----------+-------------+ | Host | msg | | Roles | MsgServer | | SSH Host | 10.4.59.156 | | User | root | | IP Addr | 10.4.59.156 | +----------+-------------+ +----------+-------------+ | Host | db | | Roles | DBServer | | SSH Host | 10.4.59.149 | | User | root | | IP Addr | 10.4.59.149 | +----------+-------------+ +----------+-------------+ | Host | node | | Roles | Node | | SSH Host | 10.4.59.144 | | User | root | | IP Addr | 10.4.59.144 | +----------+-------------+ Choose from the following deployment configuration options: 1. Change the DNS configuration 2. Move an OpenShift role to a different host 3. Modify the information for an existing host 4. Add or remove a Node host 5. Finish editing the deployment configuration Type a selection and press <return>: 5 Here is subscription configuration that the installer will use for this deployment. +---------+-------+ | Setting | Value | +---------+-------+ | type | none | +---------+-------+ Do you want to make any changes to the subscription info in the configuration file? (y/n/q/?) n Do you want to set any temporary subscription settings for this installation only? (y/n/q/?) n These are your current settings for this workflow: Here are your previous answers to the questions for this workflow. Target system - [unset] Do you want to make any changes to your answers? (y/n/q/?) y From your list of Nodes, which instance would you like to deploy?: 1. broker (Broker, Node) 2. node (Node) ? 1 Do you want to make any changes to your answers? (y/n/q/?) n Preflight check: verifying system and resource availability. Checking broker: * SSH connection succeeded * Target host is running Red Hat Enterprise Linux * Located yum Checking msg: * SSH connection succeeded * Target host is running Red Hat Enterprise Linux * Located yum Checking db: * SSH connection succeeded * Target host is running Red Hat Enterprise Linux * Located yum Checking node: * SSH connection succeeded * Target host is running Red Hat Enterprise Linux * Located yum Deploying workflow 'enterprise_add_node'. The specified node to be added also contains other OpenShift components. Nodes can only be added as standalone components on their own systems. Exiting. Installation completed. oo-install exited; keeping temporary assets in /tmp/ Version-Release number of selected component (if applicable): oo-install-ose-2.0b-20131111-2053 How reproducible: Always Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Hmmm, looks like this menu is still useful, when user want to customize roles to separate machines with "-a" option, user must select this "move role" menu. That means this "move role" menu is available only when move a role to new host, is not proper when move a role to an existing host.
The wizard should be refined after user select "move role" menu. Just like this: Which role do you want to move to a different host?: 1. Broker 2. MsgServer 3. DBServer 4. Node Type a selection and press <return>: 4 Which host should no longer include the role?: 1. msg (MsgServer, Node) 2. node (Node) Type a selection and press <return>: 1 Select a host to use for this role:: 1. Create a new host Type a selection and press <return>: 1
This should be working reasonably well now. I'll give it a try myself - lot of changes recently. It is fine to move roles between hosts as long as they haven't actually been installed yet. I don't think oo-install yet has the logic in place to keep you from modifying hosts that *have* been installed, but that's coming.
Seem move operation have some issue now, pls refer to BZ#1032476. (In reply to Luke Meyer from comment #4) > This should be working reasonably well now. I'll give it a try myself - lot > of changes recently. > > It is fine to move roles between hosts as long as they haven't actually been > installed yet. I don't think oo-install yet has the logic in place to keep > you from modifying hosts that *have* been installed, but that's coming. To be more clear, here is a scenarios. 1. Set up env, already installed broker, db, msgserver, node on different vms. 2. Trying to move node role to broker role. You mean in the future this scenarios is not allowed?
Right, I don't think we're ever going to go to the trouble to literally remove/disable a component that has been installed on a host and put it on another instead. Once a host has completed installation and configuration, the intention is that oo-install will not modify it, although I don't know how well that's implemented yet. Perhaps we need to adjust the language because the "move" here occurs strictly in the deployment configuration; i.e. "we started oo-install defaulting to everything on one host, but actually you want to separate out activemq to a different host" - but this is before anything is deployed. After you start deploying the components, the only thing that should be allowed is adding nodes.
So, just to be clear now... everything currently works as designed. * You can successfully move roles between hosts *in the oo-install configuration* * Right now, I don't think the code distinguishes between hosts that have been installed already and those that haven't, but the intent is that in the future, changes to configuration for installed hosts won't be allowed. For now, hopefully people don't expect to do that. So it needs to be clear that "move" just means changing the configuration of what you intend to install... not updating existing installed hosts. So this: 2. Move an OpenShift role to a different host ...should perhaps be re-worded to something like: 2. Reassign a not-yet-installed role to a different host Truthfully, I can't think of a clear, concise way to get this concept across in a way that will correct someone who assumes, as you did, that we're talking about manipulating already-installed hosts. In any case, I'm going to reduce the severity on this and think about addressing it after 2.0.1.