Coder Social home page Coder Social logo

Comments (4)

dobesv avatar dobesv commented on May 29, 2024 1

It seems like a workaround is to disable the node termination handler, you can do this by editing your cluster and adding lines:

  nodeTerminationHandler:
    enabled: false

from kops.

dobesv avatar dobesv commented on May 29, 2024

I'm running into the same error trying to run kops update in a cluster that uses spotinst. I tried v1.28.2 and v1.28.0.

I0119 17:29:51.120016 1866753 featureflag.go:164] FeatureFlag "Spotinst"=true
I0119 17:29:51.120047 1866753 featureflag.go:164] FeatureFlag "SpotinstOcean"=true
W0119 17:30:15.255466 1866753 builder.go:232] failed to digest image "602.dkr.ecr.us-west-2.amazonaws.com/amazon/aws-iam-authenticator:v0.5.12": GET https://602.dkr.ecr.us-west-2.amazonaws.com/v2/amazon/aws-iam-authenticator/manifests/v0.5.12: unexpected status code 401 Unauthorized: Not Authorized
W0119 17:30:19.654697 1866753 external_access.go:39] KubernetesAPIAccess is empty
W0119 17:30:19.654708 1866753 external_access.go:43] SSHAccess is empty
I0119 17:30:19.656414 1866753 loader.go:90] Known tasks:
I0119 17:30:19.656437 1866753 loader.go:92]   AutoscalingLifecycleHook/master-us-east-1a-NTHLifecycleHook
I0119 17:30:19.656440 1866753 loader.go:92]   AutoscalingLifecycleHook/master-us-east-1b-NTHLifecycleHook
I0119 17:30:19.656444 1866753 loader.go:92]   AutoscalingLifecycleHook/master-us-east-1c-NTHLifecycleHook
I0119 17:30:19.656448 1866753 loader.go:92]   AutoscalingLifecycleHook/nodes-NTHLifecycleHook
I0119 17:30:19.656452 1866753 loader.go:92]   BootstrapScript/master-us-east-1a
I0119 17:30:19.656455 1866753 loader.go:92]   BootstrapScript/master-us-east-1b
I0119 17:30:19.656459 1866753 loader.go:92]   BootstrapScript/master-us-east-1c
I0119 17:30:19.656462 1866753 loader.go:92]   BootstrapScript/nodes
I0119 17:30:19.656465 1866753 loader.go:92]   DHCPOptions/staging.kops.it.com
I0119 17:30:19.656469 1866753 loader.go:92]   DNSZone/Z3Q5ZKRX9RGMO
I0119 17:30:19.656473 1866753 loader.go:92]   EBSVolume/a.etcd-events.staging.kops.it.com
I0119 17:30:19.656476 1866753 loader.go:92]   EBSVolume/a.etcd-main.staging.kops.it.com
I0119 17:30:19.656481 1866753 loader.go:92]   EBSVolume/b.etcd-events.staging.kops.it.com
I0119 17:30:19.656484 1866753 loader.go:92]   EBSVolume/b.etcd-main.staging.kops.it.com
I0119 17:30:19.656488 1866753 loader.go:92]   EBSVolume/c.etcd-events.staging.kops.it.com
I0119 17:30:19.656491 1866753 loader.go:92]   EBSVolume/c.etcd-main.staging.kops.it.com
I0119 17:30:19.656495 1866753 loader.go:92]   Elastigroup/master-us-east-1a.masters.staging.kops.it.com
I0119 17:30:19.656498 1866753 loader.go:92]   Elastigroup/master-us-east-1b.masters.staging.kops.it.com
I0119 17:30:19.656502 1866753 loader.go:92]   Elastigroup/master-us-east-1c.masters.staging.kops.it.com
I0119 17:30:19.656506 1866753 loader.go:92]   EventBridgeRule/staging.kops.it.com-ASGLifecycle
I0119 17:30:19.656509 1866753 loader.go:92]   EventBridgeRule/staging.kops.it.com-InstanceScheduledChange
I0119 17:30:19.656513 1866753 loader.go:92]   EventBridgeRule/staging.kops.it.com-InstanceStateChange
I0119 17:30:19.656516 1866753 loader.go:92]   EventBridgeRule/staging.kops.it.com-SpotInterruption
I0119 17:30:19.656520 1866753 loader.go:92]   EventBridgeTarget/staging.kops.it.com-ASGLifecycle-Target
I0119 17:30:19.656523 1866753 loader.go:92]   EventBridgeTarget/staging.kops.it.com-InstanceScheduledChange-Target
I0119 17:30:19.656527 1866753 loader.go:92]   EventBridgeTarget/staging.kops.it.com-InstanceStateChange-Target
I0119 17:30:19.656531 1866753 loader.go:92]   EventBridgeTarget/staging.kops.it.com-SpotInterruption-Target
I0119 17:30:19.656534 1866753 loader.go:92]   IAMInstanceProfile/masters.staging.kops.it.com
I0119 17:30:19.656537 1866753 loader.go:92]   IAMInstanceProfile/nodes.staging.kops.it.com
I0119 17:30:19.656541 1866753 loader.go:92]   IAMInstanceProfileRole/masters.staging.kops.it.com
I0119 17:30:19.656544 1866753 loader.go:92]   IAMInstanceProfileRole/nodes.staging.kops.it.com
I0119 17:30:19.656548 1866753 loader.go:92]   IAMOIDCProvider/staging.kops.it.com
I0119 17:30:19.656551 1866753 loader.go:92]   IAMRole/aws-cloud-controller-manager.kube-system.sa.staging.kops.-rde14l
I0119 17:30:19.656554 1866753 loader.go:92]   IAMRole/aws-load-balancer-controller.kube-system.sa.staging.kops.-943qo1
I0119 17:30:19.656558 1866753 loader.go:92]   IAMRole/aws-node-termination-handler.kube-system.sa.staging.kops.-7k390v
I0119 17:30:19.656561 1866753 loader.go:92]   IAMRole/crier.prow.sa.staging.kops.it.com
I0119 17:30:19.656564 1866753 loader.go:92]   IAMRole/deck.prow.sa.staging.kops.it.com
I0119 17:30:19.656568 1866753 loader.go:92]   IAMRole/default.test-pods.sa.staging.kops.it.com
I0119 17:30:19.656571 1866753 loader.go:92]   IAMRole/dns-controller.kube-system.sa.staging.kops.it.com
I0119 17:30:19.656574 1866753 loader.go:92]   IAMRole/ebs-csi-controller-sa.kube-system.sa.staging.kops.goforma-h62jmg
I0119 17:30:19.656578 1866753 loader.go:92]   IAMRole/formative.formative.sa.staging.kops.it.com
I0119 17:30:19.656582 1866753 loader.go:92]   IAMRole/hook.prow.sa.staging.kops.it.com
I0119 17:30:19.656585 1866753 loader.go:92]   IAMRole/horologium.prow.sa.staging.kops.it.com
I0119 17:30:19.656589 1866753 loader.go:92]   IAMRole/masters.staging.kops.it.com
I0119 17:30:19.656592 1866753 loader.go:92]   IAMRole/nodes.staging.kops.it.com
I0119 17:30:19.656595 1866753 loader.go:92]   IAMRole/prow-controller-manager.prow.sa.staging.kops.it.com
I0119 17:30:19.656599 1866753 loader.go:92]   IAMRole/sinker.prow.sa.staging.kops.it.com
I0119 17:30:19.656602 1866753 loader.go:92]   IAMRole/statusreconciler.prow.sa.staging.kops.it.com
I0119 17:30:19.656606 1866753 loader.go:92]   IAMRole/tide.prow.sa.staging.kops.it.com
I0119 17:30:19.656609 1866753 loader.go:92]   IAMRole/turborepo-remote-cache.test-pods.sa.staging.kops.it.com
I0119 17:30:19.656613 1866753 loader.go:92]   IAMRolePolicy/additional.masters.staging.kops.it.com
I0119 17:30:19.656616 1866753 loader.go:92]   IAMRolePolicy/additional.nodes.staging.kops.it.com
I0119 17:30:19.656629 1866753 loader.go:92]   IAMRolePolicy/aws-cloud-controller-manager.kube-system.sa.staging.kops.-rde14l
I0119 17:30:19.656633 1866753 loader.go:92]   IAMRolePolicy/aws-load-balancer-controller.kube-system.sa.staging.kops.-943qo1
I0119 17:30:19.656637 1866753 loader.go:92]   IAMRolePolicy/aws-node-termination-handler.kube-system.sa.staging.kops.-7k390v
I0119 17:30:19.656641 1866753 loader.go:92]   IAMRolePolicy/crier.prow.sa.staging.kops.it.com
I0119 17:30:19.656644 1866753 loader.go:92]   IAMRolePolicy/deck.prow.sa.staging.kops.it.com
I0119 17:30:19.656647 1866753 loader.go:92]   IAMRolePolicy/default.test-pods.sa.staging.kops.it.com
I0119 17:30:19.656651 1866753 loader.go:92]   IAMRolePolicy/dns-controller.kube-system.sa.staging.kops.it.com
I0119 17:30:19.656654 1866753 loader.go:92]   IAMRolePolicy/ebs-csi-controller-sa.kube-system.sa.staging.kops.goforma-h62jmg
I0119 17:30:19.656658 1866753 loader.go:92]   IAMRolePolicy/external-crier.prow.sa.staging.kops.it.com
I0119 17:30:19.656661 1866753 loader.go:92]   IAMRolePolicy/external-deck.prow.sa.staging.kops.it.com
I0119 17:30:19.656665 1866753 loader.go:92]   IAMRolePolicy/external-default.test-pods.sa.staging.kops.it.com
I0119 17:30:19.656668 1866753 loader.go:92]   IAMRolePolicy/external-formative.formative.sa.staging.kops.it.com
I0119 17:30:19.656671 1866753 loader.go:92]   IAMRolePolicy/external-hook.prow.sa.staging.kops.it.com
I0119 17:30:19.656675 1866753 loader.go:92]   IAMRolePolicy/external-horologium.prow.sa.staging.kops.it.com
I0119 17:30:19.656678 1866753 loader.go:92]   IAMRolePolicy/external-prow-controller-manager.prow.sa.staging.kops.it.com
I0119 17:30:19.656682 1866753 loader.go:92]   IAMRolePolicy/external-sinker.prow.sa.staging.kops.it.com
I0119 17:30:19.656685 1866753 loader.go:92]   IAMRolePolicy/external-statusreconciler.prow.sa.staging.kops.it.com
I0119 17:30:19.656690 1866753 loader.go:92]   IAMRolePolicy/external-tide.prow.sa.staging.kops.it.com
I0119 17:30:19.656693 1866753 loader.go:92]   IAMRolePolicy/external-turborepo-remote-cache.test-pods.sa.staging.kops.it.com
I0119 17:30:19.656697 1866753 loader.go:92]   IAMRolePolicy/formative.formative.sa.staging.kops.it.com
I0119 17:30:19.656700 1866753 loader.go:92]   IAMRolePolicy/hook.prow.sa.staging.kops.it.com
I0119 17:30:19.656703 1866753 loader.go:92]   IAMRolePolicy/horologium.prow.sa.staging.kops.it.com
I0119 17:30:19.656707 1866753 loader.go:92]   IAMRolePolicy/master-policyoverride
I0119 17:30:19.656710 1866753 loader.go:92]   IAMRolePolicy/masters.staging.kops.it.com
I0119 17:30:19.656715 1866753 loader.go:92]   IAMRolePolicy/node-policyoverride
I0119 17:30:19.656719 1866753 loader.go:92]   IAMRolePolicy/nodes.staging.kops.it.com
I0119 17:30:19.656722 1866753 loader.go:92]   IAMRolePolicy/prow-controller-manager.prow.sa.staging.kops.it.com
I0119 17:30:19.656726 1866753 loader.go:92]   IAMRolePolicy/sinker.prow.sa.staging.kops.it.com
I0119 17:30:19.656730 1866753 loader.go:92]   IAMRolePolicy/statusreconciler.prow.sa.staging.kops.it.com
I0119 17:30:19.656734 1866753 loader.go:92]   IAMRolePolicy/tide.prow.sa.staging.kops.it.com
I0119 17:30:19.656737 1866753 loader.go:92]   IAMRolePolicy/turborepo-remote-cache.test-pods.sa.staging.kops.it.com
I0119 17:30:19.656741 1866753 loader.go:92]   InternetGateway/staging.kops.it.com
I0119 17:30:19.656744 1866753 loader.go:92]   Keypair/apiserver-aggregator-ca
I0119 17:30:19.656748 1866753 loader.go:92]   Keypair/etcd-clients-ca
I0119 17:30:19.656751 1866753 loader.go:92]   Keypair/etcd-manager-ca-events
I0119 17:30:19.656754 1866753 loader.go:92]   Keypair/etcd-manager-ca-main
I0119 17:30:19.656758 1866753 loader.go:92]   Keypair/etcd-peers-ca-events
I0119 17:30:19.656761 1866753 loader.go:92]   Keypair/etcd-peers-ca-main
I0119 17:30:19.656764 1866753 loader.go:92]   Keypair/kubernetes-ca
I0119 17:30:19.656768 1866753 loader.go:92]   Keypair/service-account
I0119 17:30:19.656771 1866753 loader.go:92]   LaunchSpec/nodes.staging.kops.it.com
I0119 17:30:19.656774 1866753 loader.go:92]   ManagedFile/cluster-completed.spec
I0119 17:30:19.656778 1866753 loader.go:92]   ManagedFile/discovery.json
I0119 17:30:19.656781 1866753 loader.go:92]   ManagedFile/etcd-cluster-spec-events
I0119 17:30:19.656785 1866753 loader.go:92]   ManagedFile/etcd-cluster-spec-main
I0119 17:30:19.656788 1866753 loader.go:92]   ManagedFile/keys.json
I0119 17:30:19.656792 1866753 loader.go:92]   ManagedFile/kops-version.txt
I0119 17:30:19.656795 1866753 loader.go:92]   ManagedFile/manifests-etcdmanager-events-master-us-east-1a
I0119 17:30:19.656799 1866753 loader.go:92]   ManagedFile/manifests-etcdmanager-events-master-us-east-1b
I0119 17:30:19.656802 1866753 loader.go:92]   ManagedFile/manifests-etcdmanager-events-master-us-east-1c
I0119 17:30:19.656806 1866753 loader.go:92]   ManagedFile/manifests-etcdmanager-main-master-us-east-1a
I0119 17:30:19.656809 1866753 loader.go:92]   ManagedFile/manifests-etcdmanager-main-master-us-east-1b
I0119 17:30:19.656813 1866753 loader.go:92]   ManagedFile/manifests-etcdmanager-main-master-us-east-1c
I0119 17:30:19.656816 1866753 loader.go:92]   ManagedFile/manifests-static-kube-apiserver-healthcheck
I0119 17:30:19.656819 1866753 loader.go:92]   ManagedFile/nodeupconfig-master-us-east-1a
I0119 17:30:19.656822 1866753 loader.go:92]   ManagedFile/nodeupconfig-master-us-east-1b
I0119 17:30:19.656826 1866753 loader.go:92]   ManagedFile/nodeupconfig-master-us-east-1c
I0119 17:30:19.656829 1866753 loader.go:92]   ManagedFile/nodeupconfig-nodes
I0119 17:30:19.656833 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-authentication.aws-k8s-1.12
I0119 17:30:19.656836 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-aws-cloud-controller.addons.k8s.io-k8s-1.18
I0119 17:30:19.656840 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-aws-ebs-csi-driver.addons.k8s.io-k8s-1.17
I0119 17:30:19.656843 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-aws-load-balancer-controller.addons.k8s.io-k8s-1.19
I0119 17:30:19.656847 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-bootstrap
I0119 17:30:19.656850 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-certmanager.io-k8s-1.16
I0119 17:30:19.656853 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-coredns.addons.k8s.io-k8s-1.12
I0119 17:30:19.656857 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-dns-controller.addons.k8s.io-k8s-1.12
I0119 17:30:19.656861 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-eks-pod-identity-webhook.addons.k8s.io-k8s-1.16
I0119 17:30:19.656864 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-kops-controller.addons.k8s.io-k8s-1.16
I0119 17:30:19.656868 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-kubelet-api.rbac.addons.k8s.io-k8s-1.9
I0119 17:30:19.656871 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-limit-range.addons.k8s.io
I0119 17:30:19.656874 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-networking.projectcalico.org-k8s-1.25
I0119 17:30:19.656878 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-node-termination-handler.aws-k8s-1.11
I0119 17:30:19.656881 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-nodelocaldns.addons.k8s.io-k8s-1.12
I0119 17:30:19.656885 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-spotinst-kubernetes-cluster-controller.addons.k8s.io-v1.14.0
I0119 17:30:19.656888 1866753 loader.go:92]   ManagedFile/staging.kops.it.com-addons-storage-aws.addons.k8s.io-v1.15.0
I0119 17:30:19.656892 1866753 loader.go:92]   MirrorKeystore/mirror-keystore
I0119 17:30:19.656895 1866753 loader.go:92]   MirrorSecrets/mirror-secrets
I0119 17:30:19.656898 1866753 loader.go:92]   Ocean/nodes.staging.kops.it.com
I0119 17:30:19.656902 1866753 loader.go:92]   Route/0.0.0.0/0
I0119 17:30:19.656905 1866753 loader.go:92]   Route/::/0
I0119 17:30:19.656909 1866753 loader.go:92]   RouteTable/staging.kops.it.com
I0119 17:30:19.656912 1866753 loader.go:92]   RouteTableAssociation/us-east-1a.staging.kops.it.com
I0119 17:30:19.656915 1866753 loader.go:92]   RouteTableAssociation/us-east-1b.staging.kops.it.com
I0119 17:30:19.656919 1866753 loader.go:92]   RouteTableAssociation/us-east-1c.staging.kops.it.com
I0119 17:30:19.656922 1866753 loader.go:92]   SQS/staging-kops-it-com-nth
I0119 17:30:19.656926 1866753 loader.go:92]   SSHKey/kubernetes.staging.kops.it.com-2a:89:be:73:7a:d8:72:c2:75:f7:57:1f:f0:f4:5d:f7
I0119 17:30:19.656929 1866753 loader.go:92]   Secret/admin
I0119 17:30:19.656933 1866753 loader.go:92]   Secret/kube
I0119 17:30:19.656936 1866753 loader.go:92]   Secret/kube-proxy
I0119 17:30:19.656939 1866753 loader.go:92]   Secret/kubelet
I0119 17:30:19.656943 1866753 loader.go:92]   Secret/system:controller_manager
I0119 17:30:19.656946 1866753 loader.go:92]   Secret/system:dns
I0119 17:30:19.656950 1866753 loader.go:92]   Secret/system:logging
I0119 17:30:19.656953 1866753 loader.go:92]   Secret/system:monitoring
I0119 17:30:19.656956 1866753 loader.go:92]   Secret/system:scheduler
I0119 17:30:19.656960 1866753 loader.go:92]   SecurityGroup/masters.staging.kops.it.com
I0119 17:30:19.656963 1866753 loader.go:92]   SecurityGroup/nodes.staging.kops.it.com
I0119 17:30:19.656966 1866753 loader.go:92]   SecurityGroup/sg-071748a0f720edfae
I0119 17:30:19.656970 1866753 loader.go:92]   SecurityGroupRule/from-masters.staging.kops.it.com-egress-all-0to0-0.0.0.0/0
I0119 17:30:19.656973 1866753 loader.go:92]   SecurityGroupRule/from-masters.staging.kops.it.com-egress-all-0to0-::/0
I0119 17:30:19.656977 1866753 loader.go:92]   SecurityGroupRule/from-masters.staging.kops.it.com-ingress-all-0to0-masters.staging.kops.it.com
I0119 17:30:19.656981 1866753 loader.go:92]   SecurityGroupRule/from-masters.staging.kops.it.com-ingress-all-0to0-nodes.staging.kops.it.com
I0119 17:30:19.656985 1866753 loader.go:92]   SecurityGroupRule/from-nodes.staging.kops.it.com-egress-all-0to0-0.0.0.0/0
I0119 17:30:19.656988 1866753 loader.go:92]   SecurityGroupRule/from-nodes.staging.kops.it.com-egress-all-0to0-::/0
I0119 17:30:19.656992 1866753 loader.go:92]   SecurityGroupRule/from-nodes.staging.kops.it.com-ingress-4-0to0-masters.staging.kops.it.com
I0119 17:30:19.656995 1866753 loader.go:92]   SecurityGroupRule/from-nodes.staging.kops.it.com-ingress-all-0to0-nodes.staging.kops.it.com
I0119 17:30:19.656999 1866753 loader.go:92]   SecurityGroupRule/from-nodes.staging.kops.it.com-ingress-tcp-1to2379-masters.staging.kops.it.com
I0119 17:30:19.657003 1866753 loader.go:92]   SecurityGroupRule/from-nodes.staging.kops.it.com-ingress-tcp-2382to4000-masters.staging.kops.it.com
I0119 17:30:19.657006 1866753 loader.go:92]   SecurityGroupRule/from-nodes.staging.kops.it.com-ingress-tcp-4003to65535-masters.staging.kops.it.com
I0119 17:30:19.657010 1866753 loader.go:92]   SecurityGroupRule/from-nodes.staging.kops.it.com-ingress-udp-1to65535-masters.staging.kops.it.com
I0119 17:30:19.657013 1866753 loader.go:92]   Subnet/us-east-1a.staging.kops.it.com
I0119 17:30:19.657017 1866753 loader.go:92]   Subnet/us-east-1b.staging.kops.it.com
I0119 17:30:19.657021 1866753 loader.go:92]   Subnet/us-east-1c.staging.kops.it.com
I0119 17:30:19.657024 1866753 loader.go:92]   VPC/staging.kops.it.com
I0119 17:30:19.657027 1866753 loader.go:92]   VPCAmazonIPv6CIDRBlock/AmazonIPv6
I0119 17:30:19.657030 1866753 loader.go:92]   VPCDHCPOptionsAssociation/staging.kops.it.com
Error: error building tasks: unexpected error resolving task "AutoscalingLifecycleHook/nodes-NTHLifecycleHook": unable to find task "AutoscalingGroup/nodes.staging.kops.it.com", referenced from AutoscalingLifecycleHook/nodes-NTHLifecycleHook:AutoscalingGroup

from kops.

dobesv avatar dobesv commented on May 29, 2024

I seems like maybe the task AutoscalingLifecycleHook/nodes-NTHLifecycleHook registers a dependency on a task to create an autoscaling group called AutoscalingGroup/nodes.staging.kops.it.com but with SpotInst no ASG is created, instead it has a task Ocean/nodes.staging.kops.it.com.

from kops.

dobesv avatar dobesv commented on May 29, 2024

I wonder if spotinst is handling the node termination requests for us anyway, so maybe we don't need the node termination handler provided by kops?

from kops.

Related Issues (20)

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.