Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Authentication problem on converge with node-list (lift works OK) #257

Open
dobladez opened this issue Jun 24, 2013 · 4 comments
Open

Authentication problem on converge with node-list (lift works OK) #257

dobladez opened this issue Jun 24, 2013 · 4 comments

Comments

@dobladez
Copy link
Contributor

Authentication problem when using node-list provider: (pallet 0.8.0-RC.1)

On my ~/.pallet/config.clj I have my :environment {:user ... defined. With that in place, lift operations work OK, however converge keeps using :image-user for all phases instead of the user I defined on the environment.

As a result, the very first time I run converge on a node (specifying all the phases I want to run, including :bootstrap), it all works. The second time, however, since my :bootstrap phase disables the :image-user, all converge operations fail.

From the source code I can tell that node-list nodes have the :boostrapped flag hard set, so, converge should not be trying to do a real bootstrap using the image user.

I could workaround this by using converge only once and then rely on lift. The problem is then with lein pallet, since its lift command doesn't accept a --phases argument.

Let me know how I can help with this issue. I've been trying to follow the code-path of converge but I couldn't get too far yet.

FYI: I also tried specifying :os-detect false, to get rid for that special phase. Same problem.

Thanks

@hugoduncan
Copy link
Member

Fernando Dobladez notifications@github.com writes:

Authentication problem when using node-list provider:

On my ~/.pallet/config.clj I have my :environment {:user ...
defined. With that in place, lift operations work OK, however
convergekeeps using:image-user` for all phases instead of the user
I defined on the environment.

As a result, the very first time I run converge on a node
(specifying all the phases I want to run, including :bootstrap), it
all works. The second time, however, since my :bootstrap phase
disables the :image-user, all converge operations fail.

By definition, the bootstrap phase runs with image credentials.

From the source code I can tell that node-list nodes have the :boostrapped flag hard set, so, converge should not be trying to do a real bootstrap using the image user.

If you explicitly specify bootstrap, then it will always be run.

@dobladez
Copy link
Contributor Author

I wasn't clear. The very first time, I do specify :bootstrap, but not the second time. During this second time, it seems like it's trying to do something with the image-user credentials.

I could set it up and capture the logs or whatever you feel might be useful.
I'm not afraid to dive into the source code either, if you give me some hints to save time :-)

Thanks

@dobladez
Copy link
Contributor Author

See converge log and lift log

@dobladez
Copy link
Contributor Author

Note: although this logs were triggered via lein pallet, I get the same situation when calling the converge or lift apis directly.

Sidenote: In some cases it's not honoring my :environment :user and I have to set :admin-user in config.clj. I think this only happens from lein pallet while the direct api call works... not 100% sure, will double-check.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants