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

CI/CD for minikube deployments #77

Closed
2 tasks done
pwalsh opened this issue Nov 20, 2019 · 3 comments
Closed
2 tasks done

CI/CD for minikube deployments #77

pwalsh opened this issue Nov 20, 2019 · 3 comments
Assignees

Comments

@pwalsh
Copy link
Contributor

pwalsh commented Nov 20, 2019

Requires #68

Description

Write a CI job that demonstrates the minikube deployment target for CCO.

  • download and install minikube
  • deploy cco into minikube
  • configure cco as needed
  • deploy a ckan instance with all required services
  • write tests that show CKAN is responding as expected for read and and writes

Acceptance criteria

  • With the deployment environment is available (minikube running) all other steps for configuration are automated with commands from CCO
  • Deployment of a CKAN instance into the cluster is green
@akariv
Copy link
Collaborator

akariv commented Nov 28, 2019

This is the cluster initialize log from my machine.
Note:

  • The required resources for minikube
  • The responses to the interactive questions
  • You need to wait for the solrcloud pods to get to the running state before continuing (around the Enter a value for num-shards question is a good place to wait)
$ minikube delete && minikube start && ckan-cloud-operator cluster initialize --interactive --cluster-provider=minikube
🔥  Deleting "minikube" in hyperkit ...
💔  The "minikube" cluster has been deleted.
🔥  Successfully deleted profile "minikube"
😄  minikube v1.5.2 on Darwin 10.14.6
    ▪ KUBECONFIG=/Users/adam/.kube/config.minikube
🔥  Creating hyperkit VM (CPUs=4, Memory=8192MB, Disk=20000MB) ...
🐳  Preparing Kubernetes v1.16.2 on Docker '18.09.9' ...
🚜  Pulling images ...
🚀  Launching Kubernetes ... 
⌛  Waiting for: apiserver
🏄  Done! kubectl is now configured to use "minikube"
2019-11-28 11:42 INFO Starting interactive initialization of the operator on the following cluster:
Error from server (NotFound): namespaces "ckan-cloud" not found
2019-11-28 11:42 INFO No configmap created yet
- clientMajor: '1'
  clientMinor: '16'
  name: minikube
  nodes:
  - minikube
  operator_version: not-configured
  server: https://192.168.64.14:8443
  serverMajor: '1'
  serverMinor: '16'
  user: minikube

Verify you are connected to the right cluster and press <RETURN> to continue
2019-11-28 11:54 INFO Creating operator namespace: ckan-cloud
namespace/ckan-cloud created
secret/ckan-cloud-provider-cluster-minikube created
configmap/operator-conf created
2019-11-28 11:54 INFO (cluster-init="labels") Initializing
2019-11-28 11:54 INFO (cluster-init="labels") setting label-prefix: ckan-cloud
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
configmap/operator-conf configured
2019-11-28 11:54 INFO (cluster-init="cluster") Initializing
configmap/operator-conf configured

Using Minikube

{}

2019-11-28 11:54 INFO (cluster-init="crds") Initializing
2019-11-28 11:54 INFO (cluster-init="crds",crd-group="stable.viderum.com",crd-prefix="CkanCloud") Setting default crds module configurations
configmap/operator-conf configured
2019-11-28 11:54 INFO (cluster-init="db") Initializing
2019-11-28 11:54 INFO (cluster-init="db") Initializing DB provider
configmap/operator-conf configured
Error from server (NotFound): secrets "ckan-cloud-provider-db-minikube-credentials" not found
Error from server (NotFound): secrets "ckan-cloud-provider-db-minikube-credentials" not found
secret/ckan-cloud-provider-db-minikube-credentials created
secret/ckan-cloud-provider-db-minikube-credentials configured
secret/ckan-cloud-provider-db-minikube-credentials configured
secret/ckan-cloud-provider-db-minikube-credentials configured
secret/ckan-cloud-provider-db-minikube-credentials configured
service/ckan-cloud-provider-db-minikube created
deployment.apps/ckan-cloud-provider-db-minikube created
2019-11-28 11:54 INFO (cluster-init="routers") Initializing
Error from server (NotFound): configmaps "routers-config" not found
Enter a value for env-id (required)
env-id: p
Enter a value for default-root-domain (required)
default-root-domain: localhost
Enter a value for dns-provider (required)
dns-provider: none
Error from server (NotFound): configmaps "routers-config" not found
configmap/routers-config created
2019-11-28 11:54 INFO (dns_provider="none") 
Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "ckancloudrouters.stable.viderum.com" not found
Creating CkanCloudRouter v1 custom resource definition
customresourcedefinition.apiextensions.k8s.io/ckancloudrouters.stable.viderum.com created
Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "ckancloudroutes.stable.viderum.com" not found
Creating CkanCloudRoute v1 custom resource definition
customresourcedefinition.apiextensions.k8s.io/ckancloudroutes.stable.viderum.com created
2019-11-28 11:54 INFO (infra_router_name="infra-1",default_root_domain="localhost") Creating infra router
Error from server (NotFound): ckancloudrouters.stable.viderum.com "infra-1" not found
Error from server (NotFound): ckancloudrouters.stable.viderum.com "infra-1" not found
Creating CkanCloudRouter infra-1 {'type': 'traefik', 'default-root-domain': 'localhost', 'cloudflare': {'email': 'default', 'api-key': 'default'}, 'wildcard-ssl-domain': None, 'external-domains': False, 'dns-provider': 'none'}
2019-11-28 11:54 INFO (dns_provider="none",default_dns_provider="none") 
ckancloudrouter.stable.viderum.com/infra-1 created
2019-11-28 11:54 INFO Creating persistent volume claim: cce00468fc4896cb49f486e7c0
2019-11-28 11:54 INFO labels: {'ckan-cloud/router-name': 'infra-1', 'ckan-cloud/router-type': 'traefik', 'ckan-cloud/provider-cluster-volume': 'multi-user'}
persistentvolumeclaim/cce00468fc4896cb49f486e7c0 created
ckancloudrouter.stable.viderum.com/infra-1 annotated
2019-11-28 11:54 INFO (cluster-init="solr") Initializing
Error from server (NotFound): secrets "solr-config" not found
Enter a boolean value for self-hosted, leave empty to use the default value: True
self-hosted [y/n]: y
Error from server (NotFound): secrets "solr-config" not found
secret/solr-config created
2019-11-28 11:54 INFO submodule solr using provider_id solrcloud
service/ckan-cloud-provider-solr-solrcloud-zk-headless created
Error from server (NotFound): configmaps "ckan-cloud-provider-solr-solrcloud" not found
2019-11-28 11:54 INFO creating persistent disk cca81deac3f6b5cd597b677b3b with size 20
persistentvolume/cca81deac3f6b5cd597b677b3b created
persistentvolumeclaim/cca81deac3f6b5cd597b677b3b created
Error from server (NotFound): configmaps "ckan-cloud-provider-solr-solrcloud" not found
configmap/ckan-cloud-provider-solr-solrcloud created
Error from server (NotFound): configmaps "ckan-cloud-provider-solr-solrcloud-zk-config" not found
configmap/ckan-cloud-provider-solr-solrcloud-zk-config created
2019-11-28 11:54 INFO Starting interactive update of zookeeper deployments

Deployments will be done one by one, you should check if deployment succeeded before moving on to next one
Update zookeeper deployment zk-0? [y/n]: y
deployment.apps/ckan-cloud-provider-solr-solrcloud-zk-0 created
configmap/ckan-cloud-provider-solr-solrcloud configured
2019-11-28 11:54 INFO Initialized zookeeper: ['zk-0.ckan-cloud-provider-solr-solrcloud-zk-headless.ckan-cloud.svc.cluster.local:2181']
deployment.apps/ckan-cloud-provider-solr-solrcloud-zoonavigator created
2019-11-28 11:54 INFO Initialized zoonavigator: ckan-cloud-provider-solr-solrcloud-zoonavigator
Error from server (NotFound): configmaps "ckan-cloud-provider-solr-solrcloud-sc-logs-config" not found
configmap/ckan-cloud-provider-solr-solrcloud-sc-logs-config created
service/ckan-cloud-provider-solr-solrcloud-sc-headless created
2019-11-28 11:54 INFO creating persistent disk cc8108d0e1a70fbd2d5a450d43 with size 100
persistentvolume/cc8108d0e1a70fbd2d5a450d43 created
persistentvolumeclaim/cc8108d0e1a70fbd2d5a450d43 created
configmap/ckan-cloud-provider-solr-solrcloud configured
Error from server (NotFound): configmaps "ckan-cloud-provider-solr-solrcloud-sc-config" not found
configmap/ckan-cloud-provider-solr-solrcloud-sc-config created
2019-11-28 11:54 INFO Starting interactive update of solrcloud deployments

Deployments will be done one by one, you should check if deployment succeeded before moving on to next one
Update solrcloud deployment sc-3? [y/n]: y
deployment.apps/ckan-cloud-provider-solr-solrcloud-sc-3 created
configmap/ckan-cloud-provider-solr-solrcloud configured
2019-11-28 11:54 INFO Initialized solrcloud: ['sc-3']
service/ckan-cloud-provider-solr-solrcloud-sc created
configmap/ckan-cloud-provider-solr-solrcloud configured
2019-11-28 11:54 INFO Initialized solrcloud service: ckan-cloud-provider-solr-solrcloud-sc
configmap/operator-conf configured
Enter a value for num-shards, leave empty to use the default value: 1
num-shards: 
Enter a value for replication-factor, leave empty to use the default value: 3
replication-factor: 1
secret/solr-config configured
2019-11-28 12:06 INFO (cluster-init="storage") Initializing
2019-11-28 12:06 INFO (cluster-init="ckan") Initializing
2019-11-28 12:06 INFO Installing crds
2019-11-28 12:06 INFO Installing operator crd: dbmigration, dbmigrations, DbMigration
configmap/operator-conf configured
Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "ckanclouddbmigrations.stable.viderum.com" not found
Creating CkanCloudDbMigration v1 custom resource definition
customresourcedefinition.apiextensions.k8s.io/ckanclouddbmigrations.stable.viderum.com created
Error from server (NotFound): configmaps "global-ckan-config" not found
2019-11-28 12:06 INFO Installing operator crd: ckaninstance, ckaninstances, CkanInstance
configmap/operator-conf configured
Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "ckancloudckaninstances.stable.viderum.com" not found
Creating CkanCloudCkanInstance v1 custom resource definition
customresourcedefinition.apiextensions.k8s.io/ckancloudckaninstances.stable.viderum.com created
2019-11-28 12:06 INFO Installing operator crd: ckaninstancename, ckaninstancenames, CkanInstanceName
configmap/operator-conf configured
Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "ckancloudckaninstancenames.stable.viderum.com" not found
Creating CkanCloudCkanInstanceName v1 custom resource definition
customresourcedefinition.apiextensions.k8s.io/ckancloudckaninstancenames.stable.viderum.com created
Checking CKAN Solr config in ZooKeeper
Node does not exist: /configs
No default Solr config found. Putting CKAN 2.8 config for Solr to ZooKeeper as ckan_default...
/Users/adam/code/viderum/ckan-cloud-operator/ckan_cloud_operator/data/solr/ckan_default/managed-schema --> /configs/ckan_default/managed-schema
create /configs null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Created /configs
0
create /configs/ckan_default null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Created /configs/ckan_default
0
copy /configs/ckan_default/managed-schema
0
create /configs/ckan_default/managed-schema
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Created /configs/ckan_default/managed-schema
0
/Users/adam/code/viderum/ckan-cloud-operator/ckan_cloud_operator/data/solr/ckan_default/protwords.txt --> /configs/ckan_default/protwords.txt
create /configs null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Node already exists: /configs
0
create /configs/ckan_default null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Node already exists: /configs/ckan_default
0
copy /configs/ckan_default/protwords.txt
0
create /configs/ckan_default/protwords.txt
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Created /configs/ckan_default/protwords.txt
0
/Users/adam/code/viderum/ckan-cloud-operator/ckan_cloud_operator/data/solr/ckan_default/currency.xml --> /configs/ckan_default/currency.xml
create /configs null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Node already exists: /configs
0
create /configs/ckan_default null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Node already exists: /configs/ckan_default
0
copy /configs/ckan_default/currency.xml
0
create /configs/ckan_default/currency.xml
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Created /configs/ckan_default/currency.xml
0
/Users/adam/code/viderum/ckan-cloud-operator/ckan_cloud_operator/data/solr/ckan_default/schema.xml --> /configs/ckan_default/schema.xml
create /configs null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Node already exists: /configs
0
create /configs/ckan_default null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Node already exists: /configs/ckan_default
0
copy /configs/ckan_default/schema.xml
0
create /configs/ckan_default/schema.xml
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Created /configs/ckan_default/schema.xml
0
/Users/adam/code/viderum/ckan-cloud-operator/ckan_cloud_operator/data/solr/ckan_default/synonyms.txt --> /configs/ckan_default/synonyms.txt
create /configs null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Node already exists: /configs
0
create /configs/ckan_default null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Node already exists: /configs/ckan_default
0
copy /configs/ckan_default/synonyms.txt
0
create /configs/ckan_default/synonyms.txt
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Created /configs/ckan_default/synonyms.txt
0
/Users/adam/code/viderum/ckan-cloud-operator/ckan_cloud_operator/data/solr/ckan_default/_rest_managed.json --> /configs/ckan_default/_rest_managed.json
create /configs null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Node already exists: /configs
0
create /configs/ckan_default null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Node already exists: /configs/ckan_default
0
copy /configs/ckan_default/_rest_managed.json
0
create /configs/ckan_default/_rest_managed.json
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Created /configs/ckan_default/_rest_managed.json
0
/Users/adam/code/viderum/ckan-cloud-operator/ckan_cloud_operator/data/solr/ckan_default/solrconfig.xml --> /configs/ckan_default/solrconfig.xml
create /configs null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Node already exists: /configs
0
create /configs/ckan_default null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Node already exists: /configs/ckan_default
0
copy /configs/ckan_default/solrconfig.xml
0
create /configs/ckan_default/solrconfig.xml
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Created /configs/ckan_default/solrconfig.xml
0
/Users/adam/code/viderum/ckan-cloud-operator/ckan_cloud_operator/data/solr/ckan_default/stopwords.txt --> /configs/ckan_default/stopwords.txt
create /configs null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Node already exists: /configs
0
create /configs/ckan_default null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Node already exists: /configs/ckan_default
0
copy /configs/ckan_default/stopwords.txt
0
create /configs/ckan_default/stopwords.txt
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Created /configs/ckan_default/stopwords.txt
0
/Users/adam/code/viderum/ckan-cloud-operator/ckan_cloud_operator/data/solr/ckan_default/lang/stopwords_en.txt --> /configs/ckan_default/lang/stopwords_en.txt
create /configs null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Node already exists: /configs
0
create /configs/ckan_default null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Node already exists: /configs/ckan_default
0
create /configs/ckan_default/lang null
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Created /configs/ckan_default/lang
0
copy /configs/ckan_default/lang/stopwords_en.txt
0
create /configs/ckan_default/lang/stopwords_en.txt
Connecting to localhost:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
Created /configs/ckan_default/lang/stopwords_en.txt
0
Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "ckanclouddatapushers.stable.viderum.com" not found
Creating CkanCloudDatapusher v1 custom resource definition
customresourcedefinition.apiextensions.k8s.io/ckanclouddatapushers.stable.viderum.com created
Error from server (NotFound): ckancloudrouters.stable.viderum.com "datapushers" not found
Error from server (NotFound): ckancloudrouters.stable.viderum.com "datapushers" not found
Error from server (NotFound): ckancloudrouters.stable.viderum.com "datapushers" not found
Error from server (NotFound): ckancloudrouters.stable.viderum.com "datapushers" not found
Creating CkanCloudRouter datapushers {'type': 'traefik', 'default-root-domain': 'default', 'cloudflare': {'email': 'default', 'api-key': 'default'}, 'wildcard-ssl-domain': None, 'external-domains': False, 'dns-provider': None}
2019-11-28 12:06 INFO (dns_provider="None",default_dns_provider="none") 
ckancloudrouter.stable.viderum.com/datapushers created
2019-11-28 12:07 INFO Creating persistent volume claim: cc09e15d9fb664842a3cf65871
2019-11-28 12:07 INFO labels: {'ckan-cloud/router-name': 'datapushers', 'ckan-cloud/router-type': 'traefik', 'ckan-cloud/provider-cluster-volume': 'multi-user'}
persistentvolumeclaim/cc09e15d9fb664842a3cf65871 created
ckancloudrouter.stable.viderum.com/datapushers annotated
wildcard_ssl_domain=localhost
Error from server (NotFound): ckancloudrouters.stable.viderum.com "instances-default" not found
Error from server (NotFound): ckancloudrouters.stable.viderum.com "instances-default" not found
Error from server (NotFound): ckancloudrouters.stable.viderum.com "instances-default" not found
Error from server (NotFound): ckancloudrouters.stable.viderum.com "instances-default" not found
Creating CkanCloudRouter instances-default {'type': 'traefik', 'default-root-domain': 'default', 'cloudflare': {'email': 'default', 'api-key': 'default'}, 'wildcard-ssl-domain': 'localhost', 'external-domains': False, 'dns-provider': None}
2019-11-28 12:07 INFO (dns_provider="None",default_dns_provider="none") 
ckancloudrouter.stable.viderum.com/instances-default created
2019-11-28 12:07 INFO Creating persistent volume claim: ccb99f07c04cc4d217ba897b50
2019-11-28 12:07 INFO labels: {'ckan-cloud/router-name': 'instances-default', 'ckan-cloud/router-type': 'traefik', 'ckan-cloud/provider-cluster-volume': 'multi-user'}
persistentvolumeclaim/ccb99f07c04cc4d217ba897b50 created
ckancloudrouter.stable.viderum.com/instances-default annotated
Error from server (NotFound): secrets "ckan-storage-config" not found
Enter a value for default-storage-bucket, leave empty to use the default value: ckan
default-storage-bucket: 
Error from server (NotFound): secrets "ckan-storage-config" not found
secret/ckan-storage-config created
2019-11-28 12:07 WARNING Minio bucket policy was not applied!
2019-11-28 12:07 INFO Great Success!

@pwalsh
Copy link
Contributor Author

pwalsh commented Dec 16, 2019

@zelima @akariv is this fully done? Can I review acceptance criteria?

@zelima
Copy link
Collaborator

zelima commented Dec 16, 2019

@pwalsh pwalsh closed this as completed Jan 22, 2020
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

3 participants