@@ -85,6 +85,12 @@ func (r *IpAddressClaimReconciler) Reconcile(ctx context.Context, req ctrl.Reque
8585		Namespace : o .Namespace ,
8686	}
8787
88+ 	// 2. check if tenant exists in the list of tenants 
89+ 	_ , err  =  r .NetboxClient .GetTenantDetails (o .Spec .Tenant )
90+ 	if  err  !=  nil  {
91+ 		return  ctrl.Result {}, err 
92+ 	}
93+ 
8894	err  =  r .Client .Get (ctx , ipAddressLookupKey , ipAddress )
8995	if  err  !=  nil  {
9096		// return error if not a notfound error 
@@ -94,7 +100,7 @@ func (r *IpAddressClaimReconciler) Reconcile(ctx context.Context, req ctrl.Reque
94100
95101		debugLogger .Info ("ipaddress object matching ipaddress claim was not found, creating new ipaddress object" )
96102
97- 		// 2 . check if lease for parent prefix is available 
103+ 		// 3 . check if lease for parent prefix is available 
98104		parentPrefixName  :=  strings .ReplaceAll (o .Spec .ParentPrefix , "/" , "-" )
99105
100106		leaseLockerNSN  :=  types.NamespacedName {Name : parentPrefixName , Namespace : r .OperatorNamespace }
@@ -106,7 +112,7 @@ func (r *IpAddressClaimReconciler) Reconcile(ctx context.Context, req ctrl.Reque
106112		lockCtx , cancel  :=  context .WithCancel (ctx )
107113		defer  cancel ()
108114
109- 		// 3 . try to lock lease for parent prefix 
115+ 		// 4 . try to lock lease for parent prefix 
110116		locked  :=  ll .TryLock (lockCtx )
111117		if  ! locked  {
112118			// lock for parent prefix was not available, rescheduling 
@@ -118,7 +124,7 @@ func (r *IpAddressClaimReconciler) Reconcile(ctx context.Context, req ctrl.Reque
118124		}
119125		debugLogger .Info (fmt .Sprintf ("successfully locked parent prefix %s" , parentPrefixName ))
120126
121- 		// 4 . try to reclaim ip address 
127+ 		// 5 . try to reclaim ip address 
122128		h  :=  generateIpAddressRestorationHash (o )
123129		ipAddressModel , err  :=  r .NetboxClient .RestoreExistingIpByHash (config .GetOperatorConfig ().NetboxRestorationHashFieldName , h )
124130		if  err  !=  nil  {
@@ -128,7 +134,7 @@ func (r *IpAddressClaimReconciler) Reconcile(ctx context.Context, req ctrl.Reque
128134
129135		if  ipAddressModel  ==  nil  {
130136			// ip address cannot be restored from netbox 
131- 			// 5 .a assign new available ip address 
137+ 			// 6 .a assign new available ip address 
132138			ipAddressModel , err  =  r .NetboxClient .GetAvailableIpAddressByClaim (
133139				& models.IPAddressClaim {
134140					ParentPrefix : o .Spec .ParentPrefix ,
@@ -141,12 +147,12 @@ func (r *IpAddressClaimReconciler) Reconcile(ctx context.Context, req ctrl.Reque
141147			}
142148			debugLogger .Info (fmt .Sprintf ("ip address is not reserved in netbox, assignined new ip address: %s" , ipAddressModel .IpAddress ))
143149		} else  {
144- 			// 5 .b reassign reserved ip address from netbox 
150+ 			// 6 .b reassign reserved ip address from netbox 
145151			// do nothing, ip address restored 
146152			debugLogger .Info (fmt .Sprintf ("reassign reserved ip address from netbox, ip: %s" , ipAddressModel .IpAddress ))
147153		}
148154
149- 		// 6 .a create the IPAddress object 
155+ 		// 7 .a create the IPAddress object 
150156		ipAddressResource  :=  generateIpAddressFromIpAddressClaim (o , ipAddressModel .IpAddress , logger )
151157		err  =  controllerutil .SetControllerReference (o , ipAddressResource , r .Scheme )
152158		if  err  !=  nil  {
@@ -168,7 +174,7 @@ func (r *IpAddressClaimReconciler) Reconcile(ctx context.Context, req ctrl.Reque
168174		}
169175
170176	} else  {
171- 		// 6 .b update fields of IPAddress object 
177+ 		// 7 .b update fields of IPAddress object 
172178		debugLogger .Info ("update ipaddress resource" )
173179		err  :=  r .Client .Get (ctx , ipAddressLookupKey , ipAddress )
174180		if  err  !=  nil  {
@@ -189,7 +195,7 @@ func (r *IpAddressClaimReconciler) Reconcile(ctx context.Context, req ctrl.Reque
189195		}
190196	}
191197
192- 	// 7 . update IPAddressClaim Ready status 
198+ 	// 8 . update IPAddressClaim Ready status 
193199	debugLogger .Info ("update ipaddressclaim status" )
194200
195201	if  apismeta .IsStatusConditionTrue (ipAddress .Status .Conditions , "Ready" ) {
0 commit comments