Skip to content
This repository has been archived by the owner on Jan 21, 2020. It is now read-only.

Improve MaaS Plugin #414

Open
4 tasks
YujiOshima opened this issue Feb 28, 2017 · 6 comments
Open
4 tasks

Improve MaaS Plugin #414

YujiOshima opened this issue Feb 28, 2017 · 6 comments
Assignees

Comments

@YujiOshima
Copy link
Contributor

YujiOshima commented Feb 28, 2017

The MaaS plugin needs to be implemented as a minimum function as a plug-in.
Refactor for robustness and current state support only vanilla flavor, so support swarm flavor first.
The functions to be planned are as follows.

  • Refactor using MAAS tagging API instead of tag file.
  • Support user data for flavors.
  • MaaS server deploy.
  • Automatically enlist new nodes.

We should support storage and network resources in the future.

@YujiOshima
Copy link
Contributor Author

@chungers Umm..I tried to make myself an Assignees, but I did not have the authority to set Assignees.

@chungers
Copy link
Contributor

@YujiOshima -- Can you tell me what you mean by 'Support swarm flavor'?

This instance plugin has only two requirements to satisfy: 1. it should allow the instances to be tagged/ labeled, 2. compute instances should support userdata (e.g. cloudinit) or some scripts that gets executed when instances start up.

As long as an instance plugin can accept these (tags and userdata) and pass them to the platform for provisioning the instance, the Swarm Flavor should be reusable.

I hope this makes sense. You shouldn't have to do anything extra -- or am I missing something? Thanks!

@YujiOshima
Copy link
Contributor Author

@chungers Thanks! That is more accurate expression.
I was going to implement it that way, but as I was not convinced enough that alone, I wrote it as above (I think that support of userdata is sufficient!).

For the others, it is necessary to manipulate MaaS 's web interface only for deployment of MaaS server and enlist of new nodes.
I want to be able to operate as easily as possible.
My Idea, deploying a MaaS server as a docker container.
If user already deployed a MaaS server, run only build/infrakit-maas-plugin --apikey $APIKEY --url http://localhost:8080/MAAS .
If user didn't have MaaS server, run build/infrakit-maas-plugin --dockerhost /unix:///var/run/docker.sock .
Then, MaaS plugin deploy MaaS server and connect to it.

@YujiOshima
Copy link
Contributor Author

I updated my comment.

@chungers
Copy link
Contributor

chungers commented Mar 2, 2017

@YujiOshima - if the user didn't have MaaS server running, what would the plugin do? From your comment, it looks like you want it to start a Docker container running MaaS server?

Personally I think it's best to not have the plugin start that and just have the requirement that the MaaS server be running before the instance plugin starts up. What do you think? It's the more common use case anyway right? People generally would have to have MaaS running somewhere as a service already...

@YujiOshima
Copy link
Contributor Author

@chungers Yes, the plugin runs the MaaS server in the docker container.

I agree with your opinion that users must run MaaS somewhere in general use cases.
However, for users who have never used MaaS, the workload from MaaS deployment to APIkey acquisition is expected to increase.

In my opinion, Infrakit's role is to hide VirtualBox and MaaS, etc. specific interfaces. For that reason I would like to be able to deploy BareMetal without knowledge of MaaS.
So I think that it is not bad that MaaS Plugin can automatically launch a MaaS server, obtain API key, register new server, and deploy server.

chungers pushed a commit to chungers/infrakit that referenced this issue Sep 30, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants