Git Product home page Git Product logo

cluster-api-provider-ibmcloud's Introduction

Kubernetes Cluster API Provider IBM Cloud (CAPIBM)

Powered by IBM Cloud


This repository hosts a concrete implementation of an IBM Cloud provider for the cluster-api project.

What is the Cluster API Provider IBM Cloud

The Cluster API brings declarative, Kubernetes-style APIs to cluster creation, configuration and management. The API itself is shared across multiple cloud providers allowing for true IBM Cloud hybrid deployments of Kubernetes.

Documentation

Please see our book for in-depth documentation.

Launching a Kubernetes cluster on IBM Cloud

Check out the Cluster API IBM Cloud Quick Start for launching a cluster on IBM Cloud.

Compatibility with Cluster API and Kubernetes Versions

This provider's versions are compatible with the following versions of Cluster API:

Cluster API v1alpha4 (v0.4) Cluster API v1beta1 (v1.x)
CAPIBM v1alpha4 (v0.1.x)
CAPIBM v1beta1 (v0.2.x, v0.3.x)
CAPIBM v1beta2 (v0.[4-7].x, main)

(See Kubernetes support matrix of Cluster API versions).

Community, discussion, contribution, and support

If you have questions or want to get the latest project news, you can connect with us in the following ways:

  • Chat with us on the Kubernetes Slack in the #cluster-api-ibmcloud channel
  • Subscribe to the SIG Cluster Lifecycle Google Group for access to documents and calendars
  • Join our Weekly meeting sessions where we share the latest project news, demos, answer questions, and triage issues
    • Biweekly on Friday @ 09:00 IST on Zoom
    • Previous meetings: [ notes ]

Pull Requests and feedback on issues are very welcome! See the issue tracker if you're unsure where to start, especially the Good first issue and Help wanted tags, and also feel free to reach out to discuss.

See also our contributor guide and the Kubernetes community page for more details on how to get involved.

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

cluster-api-provider-ibmcloud's People

Contributors

amulyam24 avatar asa3311 avatar cjschaef avatar clyang82 avatar cpanato avatar dependabot[bot] avatar dharaneeshvrd avatar emmayang avatar gyliu513 avatar hchenxa avatar jichenjc avatar k8s-ci-robot avatar karthik-k-n avatar keerthanaap avatar kishen-v avatar mattlmattlmattl avatar mkumatag avatar morvencao avatar niharika0306 avatar prajyot-parab avatar rajalakshmi-girish avatar shilpa-gokul avatar sivanzcw avatar songleo avatar spzala avatar wanghh2000 avatar wangtjia avatar wentao-zh avatar xunpan avatar yussufsh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cluster-api-provider-ibmcloud's Issues

Storage enhancement of create a Guest

/kind feature

we need provide info about how the storage can be configured through yaml file against the created Guest, e.g security additional disk/disk type info

this should includes at least

  1. update of the spec of machine in provider
  2. update how the storage info can be passed into create guest
  3. validation

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

use cloud configuration to operate on IBM cloud

/kind feature

Describe the solution you'd like
[A clear and concise description of what you want to happen.]

Cloud operations, e.g. create a VM instances, need authentication of a user account.

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Network enhancement of created Guest

/kind feature

we need provide info about how the network can be configured through yaml file against the created Guest, e.g security group/public ip/other info

this should includes at least

  1. update of the spec of machine in provider
  2. update how the network info can be passed into create guest
  3. validation

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

add clusterdeployer function

/kind feature

we need create a cluster deployer function (per cluster-api) requested

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

update IbmcloudClusterProviderSpecStatus and IbmcloudClusterProviderSpecSpec

/kind bug

What steps did you take and what happened:
[A clear and concise description of what the bug is.]
something like following
IbmcloudClusterProviderSpecSpec
IbmcloudClusterProviderSpecStatus

existing now, need adjust them

What did you expect to happen:

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Environment:

  • Cluster-api version:
  • Minikube/KIND version:
  • Kubernetes version: (use kubectl version):
  • OS (e.g. from /etc/os-release):

Cluster Creartion Failed

/kind bug
/sig ibmcloud

What steps did you take and what happened:
clusterctl create cluster ...

What did you expect to happen:
Successful Creation of Cluster

Logs from controller-manager
controller-manager.log

Environment:

  • Cluster-api version:
  • KIND version: 0.2.1
  • Kubernetes version: (use kubectl version): v1.13.0
  • OS (e.g. from /etc/os-release): Ubuntu

worker node was not created with v0.0.1

/kind bug
/sig ibmcloud

I was using controller image of quay.io/cluster-api-provider-ibmcloud/controller:v0.0.1 which is build from https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/tree/v0.0.1.

After the master node was provisioned, the namespaces on master node was not created and the related controllers was also not created on master node, so the master will not able to provision worker node.

root@liugya-master-rnpl7:~# kubectl get ns
NAME              STATUS   AGE
default           Active   10m
kube-node-lease   Active   11m
kube-public       Active   11m
kube-system       Active   11m

/assign @xunpan

I think the master branch should have same issue.

Build error for ibmcloud provider

root@gyliu-dev1:~/go/src/sigs.k8s.io/cluster-api-provider-ibmcloud# make
go generate ./pkg/... ./cmd/...
go fmt ./pkg/... ./cmd/...
go vet ./pkg/... ./cmd/...
# sigs.k8s.io/cluster-api-provider-ibmcloud/pkg/controller
pkg/controller/add_cluster_controller.go:33:37: cannot use m (type "sigs.k8s.io/cluster-api-provider-ibmcloud/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Manager) as type "sigs.k8s.io/cluster-api/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Manager in argument to "sigs.k8s.io/cluster-api/pkg/controller/cluster".AddWithActuator:
	"sigs.k8s.io/cluster-api-provider-ibmcloud/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Manager does not implement "sigs.k8s.io/cluster-api/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Manager (wrong type for Add method)
		have Add("sigs.k8s.io/cluster-api-provider-ibmcloud/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Runnable) error
		want Add("sigs.k8s.io/cluster-api/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Runnable) error
pkg/controller/add_machine_controller.go:29:37: cannot use m (type "sigs.k8s.io/cluster-api-provider-ibmcloud/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Manager) as type "sigs.k8s.io/cluster-api/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Manager in argument to "sigs.k8s.io/cluster-api/pkg/controller/machine".AddWithActuator:
	"sigs.k8s.io/cluster-api-provider-ibmcloud/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Manager does not implement "sigs.k8s.io/cluster-api/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Manager (wrong type for Add method)
		have Add("sigs.k8s.io/cluster-api-provider-ibmcloud/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Runnable) error
		want Add("sigs.k8s.io/cluster-api/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Runnable) error
# sigs.k8s.io/cluster-api-provider-ibmcloud/cmd/manager [sigs.k8s.io/cluster-api-provider-ibmcloud/cmd/manager.test]
cmd/manager/main.go:56:35: cannot use cfg (type *"sigs.k8s.io/cluster-api-provider-ibmcloud/vendor/k8s.io/client-go/rest".Config) as type *"sigs.k8s.io/cluster-api/vendor/k8s.io/client-go/rest".Config in argument to clientset.NewForConfig
cmd/manager/main.go:82:49: cannot use mgr.GetScheme() (type *"sigs.k8s.io/cluster-api-provider-ibmcloud/vendor/k8s.io/apimachinery/pkg/runtime".Scheme) as type *"sigs.k8s.io/cluster-api/vendor/k8s.io/apimachinery/pkg/runtime".Scheme in argument to "sigs.k8s.io/cluster-api/pkg/apis".AddToScheme
cmd/manager/main.go:86:29: cannot use mgr (type "sigs.k8s.io/cluster-api-provider-ibmcloud/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Manager) as type "sigs.k8s.io/cluster-api/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Manager in argument to "sigs.k8s.io/cluster-api/pkg/controller/machine".AddWithActuator:
	"sigs.k8s.io/cluster-api-provider-ibmcloud/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Manager does not implement "sigs.k8s.io/cluster-api/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Manager (wrong type for Add method)
		have Add("sigs.k8s.io/cluster-api-provider-ibmcloud/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Runnable) error
		want Add("sigs.k8s.io/cluster-api/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Runnable) error
cmd/manager/main.go:88:29: cannot use mgr (type "sigs.k8s.io/cluster-api-provider-ibmcloud/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Manager) as type "sigs.k8s.io/cluster-api/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Manager in argument to "sigs.k8s.io/cluster-api/pkg/controller/cluster".AddWithActuator:
	"sigs.k8s.io/cluster-api-provider-ibmcloud/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Manager does not implement "sigs.k8s.io/cluster-api/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Manager (wrong type for Add method)
		have Add("sigs.k8s.io/cluster-api-provider-ibmcloud/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Runnable) error
		want Add("sigs.k8s.io/cluster-api/vendor/sigs.k8s.io/controller-runtime/pkg/manager".Runnable) error
Makefile:40: recipe for target 'vet' failed
make: *** [vet] Error 2

machine actuator implementation

/kind feature
we need add Create/Update/Delete/Exists functions to machine so that we can make it able to be consumed by cluster-api Reconcile function

we can create several patches to add those functions

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

use klog instead of log

/kind feature

Describe the solution you'd like
cluster-api uses klog. So we should also use it to avoid mixed log functions

Define a clouds.yaml for password/username/url etc

/kind feature

define a clouds.yaml for access to the ibm cloud, e.g cloud location, region, password, username etc

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

controller-manager-0 as pod name

/kind bug
/sig ibmcloud

What steps did you take and what happened:
[A clear and concise description of what the bug is.]

we are using stateful sets, so the name is generated by template
to avoid too much confusion , let's rename it from controller-manager-0 to
ibmcloud-machine-controller-0 (refer to openstack's openstack-machine-controller)

root@jichen1:~# kubectl get pods --all-namespaces
NAMESPACE                  NAME                       READY   STATUS    RESTARTS   AGE
ibmcloud-provider-system   controller-manager-0       0/1     Pending   0          29s
NAMESPACE                  NAME                            READY   STATUS    RESTARTS   AGE
ibmcloud-provider-system   ibmcloud-machine-controller-0   0/1     Pending   0          7s

What did you expect to happen:

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Environment:

  • Cluster-api version:
  • Minikube/KIND version:
  • Kubernetes version: (use kubectl version):
  • OS (e.g. from /etc/os-release):

coreos ignition creation

/kind feature
need provide a set of configuration scripts for the new deployed guest to run this
in order to boot cluster and join cluster for master/node

coreos ignition will be primary focus for this PR

this might be long term option and need check ibm cloud support coreos or not

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Enhance IBMCloudClusterProviderStatus

/kind feature

we need create (enhance) the status struct that has the status of the cluster, something like OpenstackClusterProviderStatus can be referred, also, a set of routines to make the status up to date to the current status of the cluster is needed

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Add document for ibm cloud provider

/kind bug

What steps did you take and what happened:
[A clear and concise description of what the bug is.]

What did you expect to happen:

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Environment:

  • Cluster-api version:
  • Minikube/KIND version:
  • Kubernetes version: (use kubectl version):
  • OS (e.g. from /etc/os-release):

cluster actuator implementation

/kind feature
we should Add a cluster actuator (including its registerion process) and delete function to make sure the cluster status up to date and we can delete the cluster by given command

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

do we have plan to support different k8s vendor

/kind feature

Describe the solution you'd like
[A clear and concise description of what you want to happen.]

do we have plan to support the different k8s vendor like ICP or some others and the user cases was:

  1. If I already have a ICP cluster, I want to use cluster api to deploy the ICP and use the MCM to manage the provided ICP cluster.
  2. If I already have a ICP cluster, I can use cluster api to deploy other vendor k8s but I want to use ICP MCM to manage those cluster.
  3. If I did not have a ICP cluster, but I want to use ICP to have some IBM application running, so I may use cluster api to deploy an ICP cluster and deploy the IBM application(from ICP catalog) running on ICP k8s.

cc @gyliu513 @xunpan
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

kustomize generation for yamls

/kind feature

need provide kustomize for create something like cluster-api image defintion, cloud secrets, include from cluster-api definition etc

go to cluster-api-provider-openstack/cmd/clusterctl/examples/openstack for further info

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Implement update logic for machine

/kind feature

Describe the solution you'd like
[A clear and concise description of what you want to happen.]

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Failed to create VM with controller

The controller keeps reporting

E0430 07:29:52.704560       1 controller.go:202] Failed to check if machine "liugya-master-k6dqx" exists: Virtual guest "liugya-master-k6dqx" does not found
E0430 07:29:54.361228       1 controller.go:202] Failed to check if machine "liugya-master-k6dqx" exists: Virtual guest "liugya-master-k6dqx" does not found
E0430 07:29:55.860904       1 controller.go:202] Failed to check if machine "liugya-master-k6dqx" exists: Virtual guest "liugya-master-k6dqx" does not found
E0430 07:29:57.348960       1 controller.go:202] Failed to check if machine "liugya-master-k6dqx" exists: Virtual guest "liugya-master-k6dqx" does not found
E0430 07:29:58.802661       1 controller.go:202] Failed to check if machine "liugya-master-k6dqx" exists: Virtual guest "liugya-master-k6dqx" does not found
E0430 07:30:00.266265       1 controller.go:202] Failed to check if machine "liugya-master-k6dqx" exists: Virtual guest "liugya-master-k6dqx" does not found
E0430 07:30:02.001480       1 controller.go:202] Failed to check if machine "liugya-master-k6dqx" exists: Virtual guest "liugya-master-k6dqx" does not found
E0430 07:30:03.507305       1 controller.go:202] Failed to check if machine "liugya-master-k6dqx" exists: Virtual guest "liugya-master-k6dqx" does not found
E0430 07:30:05.266735       1 controller.go:202] Failed to check if machine "liugya-master-k6dqx" exists: Virtual guest "liugya-master-k6dqx" does not found
E0430 07:30:07.061822       1 controller.go:202] Failed to check if machine "liugya-master-k6dqx" exists: Virtual guest "liugya-master-k6dqx" does not found
E0430 07:30:10.370779       1 controller.go:202] Failed to check if machine "liugya-master-k6dqx" exists: Virtual guest "liugya-master-k6dqx" does not found
E0430 07:30:15.976063       1 controller.go:202] Failed to check if machine "liugya-master-k6dqx" exists: Virtual guest "liugya-master-k6dqx" does not found
E0430 07:30:26.813584       1 controller.go:202] Failed to check if machine "liugya-master-k6dqx" exists: Virtual guest "liugya-master-k6dqx" does not found
E0430 07:30:47.778407       1 controller.go:202] Failed to check if machine "liugya-master-k6dqx" exists: Virtual guest "liugya-master-k6dqx" does not found
E0430 07:31:29.341248       1 controller.go:202] Failed to check if machine "liugya-master-k6dqx" exists: Virtual guest "liugya-master-k6dqx" does not found
E0430 07:32:51.824460       1 controller.go:202] Failed to check if machine "liugya-master-k6dqx" exists: Virtual guest "liugya-master-k6dqx" does not found

Push latest image to quay.io via CI process

/kind bug
/sig ibmcloud

We should always push controller and clusterctl to quay.io via CI process.

Controller

quay.io/cluster-api-provider-ibmcloud/controller

Clusterctl

quay.io/cluster-api-provider-ibmcloud/clusterctl

@morvencao

events for machine

/kind feature
/sig ibmcloud

Describe the solution you'd like
When there has issues in VM provision or cluster provision. We'd better send detailed message with events to show what happens.

This is not urgent but need to be considered.

clusterctl

/kind feature

Describe the solution you'd like
clusterctl does not work. This is logged to trace issues for clusterctl

userdata creation (for k8s cluster startup)

/kind feature
need provide a set of configuration scripts for the new deployed guest to run this
in order to boot cluster and join cluster for master/node

cloud-init will be primary focus for this PR

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

kustomize failed to build the manifest

After I fix the depend inssue: https://github.com/gyliu513/cluster-api-provider-ibmcloud/issues/1 with patch: https://github.com/gyliu513/cluster-api-provider-ibmcloud/pull/2, I found another issue about the kustomize build:

kustomize build config/default/ > provider-components.yaml
Error: rawResources failed to read Resources: Load from path ../rbac/rbac_role.yaml failed: security; file '../rbac/rbac_role.yaml' is not in or below '/root/gocode/src/sigs.k8s.io/cluster-api-provider-ibmcloud/config/default'

Makefile:33: recipe for target 'manifests' failed
make: *** [manifests] Error 1

/cc @gyliu513

display correct message for kubectl get machine

/kind feature

Describe the solution you'd like

$ kubectl --kubeconfig kubeconfig get machine     
NAME                    PROVIDERID   PHASE
ibmcloud-master-5rcv6                
ibmcloud-node-cvww2                  

Empty display is not good.
we also need AGE as cluster

Update format of clouds.yaml

/kind bug

What steps did you take and what happened:
[A clear and concise description of what the bug is.]

What did you expect to happen:
This is a follow up action for review comments at #60 (comment)

We should keep the format as follows to enable future extension.

clouds:
  ibmcloud:
    auth:
      username: "[email protected]"
      password: "here'syourpassword"

FYI @xunpan

adjust log level (logs from softlayer)

/kind bug
/sig ibmcloud

What steps did you take and what happened:
[A clear and concise description of what the bug is.]
have following logs which will be overwhelming to admin, need doc a way to adjust the log level

kubectl log controller-manager-0 -n ibmcloud-provider-system
2019/05/13 03:41:25 [DEBUG] Status Code:  200
2019/05/13 03:41:25 [DEBUG] Response:  [{"createDate":"2019-05-12T21:39:34-06:00","elapsedSeconds":34,"guestId":79878029,"hardwareId":null,"id":125698729,"modifyDate":"2019-05-12T21:41:14-06:00","statusChangeDate":"2019-05-12T21:40:51-06:00","transactionStatus":{"averageDuration":"5.39","friendlyName":"Check Cloud Disk Template Transfer","name":"CHECK_CLOUD_DISK_TEMPLATE_TRANSFER"}}]
2019/05/13 03:41:30 [DEBUG] Request URL:  GET https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/79878029/getActiveTransactions.json
2019/05/13 03:41:30 [DEBUG] Parameters:
2019/05/13 03:41:31 [DEBUG] Status Code:  200
2019/05/13 03:41:31 [DEBUG] Response:  [{"createDate":"2019-05-12T21:39:34-06:00","elapsedSeconds":1,"guestId":79878029,"hardwareId":null,"id":125698729,"modifyDate":"2019-05-12T21:41:30-06:00","statusChangeDate":"2019-05-12T21:41:30-06:00","transactionStatus":{"friendlyName":"Attach Primary Disk","name":"ATTACH_PRIMARY_DISK"}}]
2019/05/13 03:41:36 [DEBUG] Request URL:  GET https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/79878029/getActiveTransactions.json
2019/05/13 03:41:36 [DEBUG] Parameters:
2019/05/13 03:41:37 [DEBUG] Status Code:  200
2019/05/13 03:41:37 [DEBUG] Response:  [{"createDate":"2019-05-12T21:39:34-06:00","elapsedSeconds":7,"guestId":79878029,"hardwareId":null,"id":125698729,"modifyDate":"2019-05-12T21:41:30-06:00","statusChangeDate":"2019-05-12T21:41:30-06:00","transactionStatus":{"friendlyName":"Attach Primary Disk","name":"ATTACH_PRIMARY_DISK"}}]
2019/05/13 03:41:42 [DEBUG] Request URL:  GET https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/79878029/getActiveTransactions.json
2019/05/13 03:41:42 [DEBUG] Parameters:
2019/05/13 03:41:42 [DEBUG] Status Code:  200
2019/05/13 03:41:42 [DEBUG] Response:  [{"createDate":"2019-05-12T21:39:34-06:00","elapsedSeconds":12,"guestId":79878029,"hardwareId":null,"id":125698729,"modifyDate":"2019-05-12T21:41:30-06:00","statusChangeDate":"2019-05-12T21:41:30-06:00","transactionStatus":{"friendlyName":"Attach Primary Disk","name":"ATTACH_PRIMARY_DISK"}}]
2019/05/13 03:41:47 [DEBUG] Request URL:  GET https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/79878029/getActiveTransactions.json
2019/05/13 03:41:47 [DEBUG] Parameters:
2019/05/13 03:41:48 [DEBUG] Status Code:  200
2019/05/13 03:41:48 [DEBUG] Response:  [{"createDate":"2019-05-12T21:39:34-06:00","elapsedSeconds":1,"guestId":79878029,"hardwareId":null,"id":125698729,"modifyDate":"2019-05-12T21:41:47-06:00","statusChangeDate":"2019-05-12T21:41:47-06:00","transactionStatus":{"averageDuration":"4.52","friendlyName":"Software install is finished","name":"POST_INSTALL_COMPLETE"}}]
2019/05/13 03:41:53 [DEBUG] Request URL:  GET https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/79878029/getActiveTransactions.json
2019/05/13 03:41:53 [DEBUG] Parameters:
2019/05/13 03:41:54 [DEBUG] Status Code:  200
2019/05/13 03:41:54 [DEBUG] Response:  [{"createDate":"2019-05-12T21:39:34-06:00","elapsedSeconds":7,"guestId":79878029,"hardwareId":null,"id":125698729,"modifyDate":"2019-05-12T21:41:47-06:00","statusChangeDate":"2019-05-12T21:41:47-06:00","transactionStatus":{"averageDuration":"4.52","friendlyName":"Software install is finished","name":"POST_INSTALL_COMPLETE"}}]
2019/05/13 03:41:59 [DEBUG] Request URL:  GET https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/79878029/getActiveTransactions.json
2019/05/13 03:41:59 [DEBUG] Parameters:
2019/05/13 03:42:00 [DEBUG] Status Code:  200
2019/05/13 03:42:00 [DEBUG] Response:  [{"createDate":"2019-05-12T21:39:34-06:00","elapsedSeconds":13,"guestId":79878029,"hardwareId":null,"id":125698729,"modifyDate":"2019-05-12T21:41:59-06:00","statusChangeDate":"2019-05-12T21:41:47-06:00","transactionStatus":{"averageDuration":"4.52","friendlyName":"Software install is finished","name":"POST_INSTALL_COMPLETE"}}]
2019/05/13 03:42:05 [DEBUG] Request URL:  GET https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/79878029/getActiveTransactions.json
2019/05/13 03:42:05 [DEBUG] Parameters:
2019/05/13 03:42:05 [DEBUG] Status Code:  200
2019/05/13 03:42:05 [DEBUG] Response:  [{"createDate":"2019-05-12T21:39:34-06:00","elapsedSeconds":18,"guestId":79878029,"hardwareId":null,"id":125698729,"modifyDate":"2019-05-12T21:41:59-06:00","statusChangeDate":"2019-05-12T21:41:47-06:00","transactionStatus":{"averageDuration":"4.52","friendlyName":"Software install is finished","name":"POST_INSTALL_COMPLETE"}}]

What did you expect to happen:

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Environment:

  • Cluster-api version:
  • Minikube/KIND version:
  • Kubernetes version: (use kubectl version):
  • OS (e.g. from /etc/os-release):

Create function to convert spec/status from cluster-api

/kind feature

refer to openstack provider pkg/apis/openstackproviderconfig/v1alpha1/register.go
we need a set of functions to convert something like runtime.RawExtension stored in cluster-api spec (raw format) into the format that ibm cloud is able to recognize

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Enable POWER and s390x for IBM Cloud Provider

/kind bug

What steps did you take and what happened:
[A clear and concise description of what the bug is.]

What did you expect to happen:
Some customer want to run cluster-api on IBM POWER or s390x, it is better to enable IBM Cloud cluster-api can run on those architecture platforms as well.

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Environment:

  • Cluster-api version:
  • Minikube/KIND version:
  • Kubernetes version: (use kubectl version):
  • OS (e.g. from /etc/os-release):

centos support

/kind feature

Describe the solution you'd like
we only support ubuntu machine on IBM cloud now.
It is preferred to support centos too

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

use another org for ibmcloud provider docker image

/kind bug
/sig ibmcloud

What steps did you take and what happened:
[A clear and concise description of what the bug is.]

from the pic here:
Screen Shot 2019-05-05 at 8 03 27 PM

the github url was only for openstack cloud provider, so for ibmcloud provider, could we need to use another org like ibmcom for clusterctl and api-controller docker images.

cc @gyliu513 @xunpan

What did you expect to happen:

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Environment:

  • Cluster-api version:
  • Minikube/KIND version:
  • Kubernetes version: (use kubectl version):
  • OS (e.g. from /etc/os-release):

use values in Machine instead of hardcoded VM resource definition

/kind feature

Describe the solution you'd like

                Domain:                       sl.String("example.com"),       
                MaxMemory:                    sl.Int(4096),                   
                StartCpus:                    sl.Int(1),
                Datacenter:                   &datatypes.Location{Name: sl.String("wdc01")},
                OperatingSystemReferenceCode: sl.String("UBUNTU_LATEST"),
                LocalDiskFlag:                sl.Bool(true),
                HourlyBillingFlag:            sl.Bool(true),
                SshKeyCount:                  sl.Uint(1),

token generation for bootstrap

/kind feature

Describe the solution you'd like
[A clear and concise description of what you want to happen.]
we need create bootstrap token for used when kubeadm start

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Doc on admin.conf get

/kind bug
/sig ibmcloud

What steps did you take and what happened:
[A clear and concise description of what the bug is.]

we have following in readme:

Special notes on ssh keys and fetching admin.conf

In order to allow clusterctl to fetch Kubernetes' admin.conf from the master node, you must manually create the key pair in IBM Cloud. By default the generated machine.yaml uses cluster-api-provider-ibmcloud to be the sshKeyName. However, you are free to change that.

I think we are using id_ibmcloud to do the admin.conf get ?? (grep id_ibmcloud in the code tree) GetKubeConfig function has this logic, the sshKeyName is for end user to use? @gyliu513 @xunpan
What did you expect to happen:

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Environment:

  • Cluster-api version:
  • Minikube/KIND version:
  • Kubernetes version: (use kubectl version):
  • OS (e.g. from /etc/os-release):

no docker images under k8scloudprovider

/kind bug
/sig ibmcloud

What steps did you take and what happened:
[A clear and concise description of what the bug is.]

Post the same question here, how to push the docker image in k8scloudprovider, currently, we did not have any docker image under k8scloudprovider org.

cc @gyliu513 @xunpan

What did you expect to happen:

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Environment:

  • Cluster-api version:
  • Minikube/KIND version:
  • Kubernetes version: (use kubectl version):
  • OS (e.g. from /etc/os-release):

`go vet` failed

/kind bug

What steps did you take and what happened:
[A clear and concise description of what the bug is.]

root@gyliu-dev1:~/go/src/sigs.k8s.io/cluster-api-provider-ibmcloud# go vet ./pkg/... ./cmd/...
# sigs.k8s.io/cluster-api-provider-ibmcloud/pkg/apis/ibmcloud/v1alpha1
pkg/apis/ibmcloud/v1alpha1/zz_generated.deepcopy.go:278:15: in.Datacenter.DeepCopyInto undefined (type datatypes.Location has no field or method DeepCopyInto)
# sigs.k8s.io/cluster-api-provider-ibmcloud/pkg/apis/ibmcloud/v1alpha1 [sigs.k8s.io/cluster-api-provider-ibmcloud/pkg/apis/ibmcloud/v1alpha1.test]
pkg/apis/ibmcloud/v1alpha1/zz_generated.deepcopy.go:278:15: in.Datacenter.DeepCopyInto undefined (type datatypes.Location has no field or method DeepCopyInto)

Related to https://github.com/gyliu513/cluster-api-provider-ibmcloud/pull/7#issuecomment-482605729

What did you expect to happen:

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Environment:

  • Cluster-api version:
  • Minikube/KIND version:
  • Kubernetes version: (use kubectl version):
  • OS (e.g. from /etc/os-release):

Enable travis for cluster API

/kind bug

What steps did you take and what happened:
[A clear and concise description of what the bug is.]

What did you expect to happen:

We can follow https://github.com/kubernetes-sigs/federation-v2/blob/master/.travis.yml to enable travis for our project.

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Environment:

  • Cluster-api version:
  • Minikube/KIND version:
  • Kubernetes version: (use kubectl version):
  • OS (e.g. from /etc/os-release):

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.