Skip to content
This repository was archived by the owner on Jun 2, 2021. It is now read-only.

Commit 6a3186a

Browse files
Jaskanwal Pawartcdowney
andcommitted
update to kpack v0.1.2
- major breaking changes in this kpack version that renamed many of the kpack resources and api groups [#174413920] Co-authored-by: Jaskanwal Pawar <jpawar@pivotal.io> Co-authored-by: Tim Downey <tdowney@vmware.com>
1 parent 1ea8e8b commit 6a3186a

26 files changed

Lines changed: 189 additions & 170 deletions

app/actions/app_delete.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def delete(apps, record_event: true)
6060
app.guid,
6161
VCAP::CloudController::Config.config.kpack_builder_namespace,
6262
)
63-
k8s_api_client.delete_custom_builder(
63+
k8s_api_client.delete_builder(
6464
"app-#{app.guid}",
6565
VCAP::CloudController::Config.config.kpack_builder_namespace,
6666
)

app/fetchers/kpack_buildpack_list_fetcher.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ module VCAP::CloudController
77
class KpackBuildpackListFetcher
88
def fetch_all(message=EmptyBuildpackListMessage)
99
staging_namespace = VCAP::CloudController::Config.config.kpack_builder_namespace
10-
default_builder = k8s_api_client.get_custom_builder('cf-default-builder', staging_namespace)
10+
default_builder = k8s_api_client.get_builder('cf-default-builder', staging_namespace)
1111

1212
version_map = default_builder.status.builderMetadata.each.with_object({}) do |metadata, h|
1313
h[metadata.id] = metadata.version

errors/v2.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1310,6 +1310,6 @@
13101310
message: "Failed to %s Image resource for staging: '%s'"
13111311

13121312
400003:
1313-
name: KpackCustomBuilderError
1313+
name: KpackBuilderError
13141314
http_code: 422
1315-
message: "Failed to %s CustomBuilder resource: '%s'"
1315+
message: "Failed to %s Builder resource: '%s'"

lib/cloud_controller/dependency_locator.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -374,14 +374,14 @@ def statsd_client
374374
def k8s_api_client
375375
config = VCAP::CloudController::Config.config
376376
build_kube_client = Kubernetes::KubeClientBuilder.build(
377-
api_group_url: "#{config.kubernetes_host_url}/apis/build.pivotal.io",
377+
api_group_url: "#{config.kubernetes_host_url}/apis/kpack.io",
378378
version: 'v1alpha1',
379379
service_account_token: config.kubernetes_service_account_token,
380380
ca_crt: config.kubernetes_ca_cert,
381381
)
382382

383383
kpack_kube_client = Kubernetes::KubeClientBuilder.build(
384-
api_group_url: "#{config.kubernetes_host_url}/apis/experimental.kpack.pivotal.io",
384+
api_group_url: "#{config.kubernetes_host_url}/apis/kpack.io",
385385
version: 'v1alpha1',
386386
service_account_token: config.kubernetes_service_account_token,
387387
ca_crt: config.kubernetes_ca_cert,

lib/cloud_controller/kpack/stager.rb

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ module Kpack
44
class Stager
55
CF_DEFAULT_BUILDER_REFERENCE = {
66
name: 'cf-default-builder',
7-
kind: 'CustomBuilder'
7+
kind: 'Builder'
88
}.freeze
99
APP_GUID_LABEL_KEY = 'cloudfoundry.org/app_guid'.freeze
1010
BUILD_GUID_LABEL_KEY = 'cloudfoundry.org/build_guid'.freeze
@@ -111,33 +111,33 @@ def get_environment_variables(staging_details)
111111
def find_or_create_builder_reference(staging_details)
112112
return CF_DEFAULT_BUILDER_REFERENCE unless staging_details.lifecycle.buildpack_infos.present?
113113

114-
custom_builder_name = "app-#{staging_details.package.app.guid}"
115-
create_or_update_custom_builder(custom_builder_name, staging_details)
114+
builder_name = "app-#{staging_details.package.app.guid}"
115+
create_or_update_builder(builder_name, staging_details)
116116

117117
{
118-
name: custom_builder_name,
119-
kind: 'CustomBuilder'
118+
name: builder_name,
119+
kind: 'Builder'
120120
}
121121
end
122122

123-
def create_or_update_custom_builder(name, staging_details)
124-
desired_custom_builder = generate_custom_builder_from_default(name, staging_details)
123+
def create_or_update_builder(name, staging_details)
124+
desired_builder = generate_builder_from_default(name, staging_details)
125125

126-
unless client.get_custom_builder(name, builder_namespace).present?
127-
return client.create_custom_builder(desired_custom_builder)
126+
unless client.get_builder(name, builder_namespace).present?
127+
return client.create_builder(desired_builder)
128128
end
129129

130-
reapply_client.apply_custom_builder_update(name, builder_namespace) do |existing_custom_builder|
131-
desired_custom_builder.metadata.resourceVersion = existing_custom_builder.metadata.resourceVersion
132-
desired_custom_builder.apiVersion = existing_custom_builder.apiVersion
133-
desired_custom_builder
130+
reapply_client.apply_builder_update(name, builder_namespace) do |existing_builder|
131+
desired_builder.metadata.resourceVersion = existing_builder.metadata.resourceVersion
132+
desired_builder.apiVersion = existing_builder.apiVersion
133+
desired_builder
134134
end
135135
end
136136

137-
def generate_custom_builder_from_default(name, staging_details)
138-
default_builder = client.get_custom_builder(CF_DEFAULT_BUILDER_REFERENCE[:name], builder_namespace)
137+
def generate_builder_from_default(name, staging_details)
138+
default_builder = client.get_builder(CF_DEFAULT_BUILDER_REFERENCE[:name], builder_namespace)
139139
Kubeclient::Resource.new({
140-
kind: 'CustomBuilder',
140+
kind: 'Builder',
141141
metadata: {
142142
name: name,
143143
namespace: builder_namespace,
@@ -151,7 +151,7 @@ def generate_custom_builder_from_default(name, staging_details)
151151
serviceAccount: default_builder.spec.serviceAccount,
152152
stack: default_builder.spec.stack,
153153
store: default_builder.spec.store,
154-
tag: "#{registry_tag_base}/#{staging_details.package.app.guid}-custom-builder",
154+
tag: "#{registry_tag_base}/#{staging_details.package.app.guid}-builder",
155155
order: [
156156
group: staging_details.lifecycle.buildpack_infos.map { |buildpack| { id: buildpack } }
157157
]

lib/kubernetes/api_client.rb

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -89,45 +89,45 @@ def delete_route(name, namespace)
8989
raise error
9090
end
9191

92-
def update_custom_builder(resource_config)
93-
@kpack_kube_client.update_custom_builder(resource_config)
92+
def update_builder(resource_config)
93+
@kpack_kube_client.update_builder(resource_config)
9494
rescue Kubeclient::HttpError => e
95-
logger.error('update_custom_builder', error: e.inspect, response: e.response, backtrace: e.backtrace)
95+
logger.error('update_builder', error: e.inspect, response: e.response, backtrace: e.backtrace)
9696

9797
raise ConflictError.new("Conflict on update of #{resource_name(resource_config)}") if e.error_code == 409
9898

99-
error = CloudController::Errors::ApiError.new_from_details('KpackCustomBuilderError', 'update', e.message)
99+
error = CloudController::Errors::ApiError.new_from_details('KpackBuilderError', 'update', e.message)
100100
error.set_backtrace(e.backtrace)
101101
raise error
102102
end
103103

104-
def create_custom_builder(resource_config)
105-
@kpack_kube_client.create_custom_builder(resource_config)
104+
def create_builder(resource_config)
105+
@kpack_kube_client.create_builder(resource_config)
106106
rescue Kubeclient::HttpError => e
107-
logger.error('create_custom_builder', error: e.inspect, response: e.response, backtrace: e.backtrace)
108-
error = CloudController::Errors::ApiError.new_from_details('KpackCustomBuilderError', 'create', e.message)
107+
logger.error('create_builder', error: e.inspect, response: e.response, backtrace: e.backtrace)
108+
error = CloudController::Errors::ApiError.new_from_details('KpackBuilderError', 'create', e.message)
109109
error.set_backtrace(e.backtrace)
110110
raise error
111111
end
112112

113-
def delete_custom_builder(name, namespace)
114-
@kpack_kube_client.delete_custom_builder(name, namespace)
113+
def delete_builder(name, namespace)
114+
@kpack_kube_client.delete_builder(name, namespace)
115115
rescue Kubeclient::ResourceNotFoundError
116116
nil
117117
rescue Kubeclient::HttpError => e
118-
logger.error('delete_custom_builder', error: e.inspect, response: e.response, backtrace: e.backtrace)
119-
error = CloudController::Errors::ApiError.new_from_details('KpackCustomBuilderError', 'delete', e.message)
118+
logger.error('delete_builder', error: e.inspect, response: e.response, backtrace: e.backtrace)
119+
error = CloudController::Errors::ApiError.new_from_details('KpackBuilderError', 'delete', e.message)
120120
error.set_backtrace(e.backtrace)
121121
raise error
122122
end
123123

124-
def get_custom_builder(name, namespace)
125-
@kpack_kube_client.get_custom_builder(name, namespace)
124+
def get_builder(name, namespace)
125+
@kpack_kube_client.get_builder(name, namespace)
126126
rescue Kubeclient::ResourceNotFoundError
127127
nil
128128
rescue Kubeclient::HttpError => e
129-
logger.error('get_custom_builder', error: e.inspect, response: e.response, backtrace: e.backtrace)
130-
error = CloudController::Errors::ApiError.new_from_details('KpackCustomBuilderError', 'get', e.message)
129+
logger.error('get_builder', error: e.inspect, response: e.response, backtrace: e.backtrace)
130+
error = CloudController::Errors::ApiError.new_from_details('KpackBuilderError', 'get', e.message)
131131
error.set_backtrace(e.backtrace)
132132
raise error
133133
end

lib/kubernetes/update_reapply_client.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ def apply_image_update(name, namespace, &block)
2727
end
2828
end
2929

30-
def apply_custom_builder_update(name, namespace, &block)
30+
def apply_builder_update(name, namespace, &block)
3131
raise MalformedBlockError if block.arity != 1
3232

3333
retry_on_conflict do
34-
@client.update_custom_builder(block.call(@client.get_custom_builder(name, namespace)))
34+
@client.update_builder(block.call(@client.get_builder(name, namespace)))
3535
end
3636
end
3737

spec/api/documentation/apps_api_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ def self.fields_info(required)
122122
end
123123

124124
describe 'Standard endpoints' do
125-
let(:k8s_api_client) { instance_double(Kubernetes::ApiClient, delete_image: nil, delete_custom_builder: nil) }
125+
let(:k8s_api_client) { instance_double(Kubernetes::ApiClient, delete_image: nil, delete_builder: nil) }
126126

127127
before do
128128
allow(CloudController::DependencyLocator.instance).to receive(:k8s_api_client).and_return(k8s_api_client)

spec/kubernetes/update_reapply_client_spec.rb

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -141,31 +141,32 @@ module Kubernetes
141141
end
142142
end
143143

144-
describe '#apply_custom_builder_update' do
145-
let(:name) { 'custom_builder' }
146-
let(:remote_custom_builder) { Kubeclient::Resource.new(
147-
kind: 'CustomBuilder',
148-
metadata: {
149-
'cloudfoundry.org/bogus_guid' => 'bogus',
150-
},
151-
spec: {
152-
host: 'internet',
153-
},
154-
)
155-
}
144+
describe '#apply_builder_update' do
145+
let(:name) { 'builder' }
146+
let(:remote_builder) do
147+
Kubeclient::Resource.new(
148+
kind: 'Builder',
149+
metadata: {
150+
'cloudfoundry.org/bogus_guid' => 'bogus',
151+
},
152+
spec: {
153+
host: 'internet',
154+
},
155+
)
156+
end
156157

157158
before do
158-
allow(api_client).to receive(:get_custom_builder).with(name, namespace).and_return(remote_custom_builder)
159-
allow(api_client).to receive(:update_custom_builder)
159+
allow(api_client).to receive(:get_builder).with(name, namespace).and_return(remote_builder)
160+
allow(api_client).to receive(:update_builder)
160161
end
161162

162163
it 'applies the update in the block' do
163-
reapply_client.apply_custom_builder_update(name, namespace) do |remote_custom_builder|
164-
remote_custom_builder.spec.domain = 'website.biz'
165-
remote_custom_builder
164+
reapply_client.apply_builder_update(name, namespace) do |remote_builder|
165+
remote_builder.spec.domain = 'website.biz'
166+
remote_builder
166167
end
167168

168-
expect(api_client).to have_received(:update_custom_builder) do |update|
169+
expect(api_client).to have_received(:update_builder) do |update|
169170
expect(update.spec.domain).to eq('website.biz')
170171
expect(update.spec.host).to eq('internet')
171172
end
@@ -176,32 +177,32 @@ module Kubernetes
176177

177178
before do
178179
# raise a 409 twice, then succeed
179-
expect(api_client).to receive(:update_custom_builder).once.with(any_args).and_raise(error)
180-
expect(api_client).to receive(:update_custom_builder).once.with(any_args).and_raise(error)
181-
expect(api_client).to receive(:update_custom_builder).once.with(any_args)
180+
expect(api_client).to receive(:update_builder).once.with(any_args).and_raise(error)
181+
expect(api_client).to receive(:update_builder).once.with(any_args).and_raise(error)
182+
expect(api_client).to receive(:update_builder).once.with(any_args)
182183
end
183184

184-
it 'retries 3 times, fetching the custom_builder to patch each time' do
185+
it 'retries 3 times, fetching the builder to patch each time' do
185186
expect {
186-
reapply_client.apply_custom_builder_update(name, namespace) do |custom_builder|
187-
custom_builder.spec = {}
188-
custom_builder
187+
reapply_client.apply_builder_update(name, namespace) do |builder|
188+
builder.spec = {}
189+
builder
189190
end
190191
}.not_to raise_error
191192

192-
expect(api_client).to have_received(:get_custom_builder).exactly(3).times
193+
expect(api_client).to have_received(:get_builder).exactly(3).times
193194
end
194195
end
195196

196197
it 'errors when no block is provided' do
197198
expect do
198-
reapply_client.apply_custom_builder_update(name, namespace)
199+
reapply_client.apply_builder_update(name, namespace)
199200
end.to raise_error(NoMethodError)
200201
end
201202

202203
it 'errors when the block provided doesnt take an arg' do
203204
expect do
204-
reapply_client.apply_custom_builder_update(name, namespace) do
205+
reapply_client.apply_builder_update(name, namespace) do
205206
puts 'lul'
206207
end
207208
end.to raise_error(UpdateReapplyClient::MalformedBlockError)

spec/request/apps_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1519,7 +1519,7 @@
15191519
let!(:process) { VCAP::CloudController::ProcessModel.make(app: app_model) }
15201520
let!(:deployment) { VCAP::CloudController::DeploymentModel.make(app: app_model) }
15211521
let(:user_email) { nil }
1522-
let(:k8s_api_client) { instance_double(Kubernetes::ApiClient, delete_image: nil, delete_custom_builder: nil) }
1522+
let(:k8s_api_client) { instance_double(Kubernetes::ApiClient, delete_image: nil, delete_builder: nil) }
15231523

15241524
before do
15251525
space.organization.add_user(user)

0 commit comments

Comments
 (0)