[ovirt-users] Re: Important changes to the oVirt Terraform Provider

2022-03-09 Thread marek

Hi Janos,

any news?

Marek


Dne 07/01/2022 v 19:00 Janos Bonic napsal(a):

Hello Marek, hello everyone,

I'm sorry I didn't update you earlier. Unfortunately, we had a key 
team member leave our team, which pushed back our release by some 
time. We are still pursuing the matter according to the original plan 
and will release the TF provider, but we will need some more time to 
work on it.


We'll keep the repository on GitHub updated with the developments we do.

Once again, I'm sorry for the delay.

Janos


On Wed, Jan 5, 2022, 10:03 PM marek  wrote:

Hi,

any plan for release?

Marek

Dne 06/10/2021 v 12:53 Janos Bonic napsal(a):


Dear oVirt community,

We are making sweeping and backwards-incompatible changes to the
oVirt Terraform provider. *We want your feedback before we make
these changes.*

Here’s the short list what we would like to change, please read
the details below.

 1. The current |master| branch will be renamed to |legacy|. The
usage of this provider will be phased out within Red Hat
around the end / beginning of next year. If you want to
create a fork, we are happy to add a link to your fork to the
readme.
 2. A new |main| branch will be created and a *new Terraform
provider* written from scratch on the basis of
go-ovirt-client .
(Preview here
)
This provider will only have limited functionality in its
first release.
 3. This new provider will be released to the Terraform registry,
and will have full test coverage and documentation. This
provider will be released as version v2.0.0 when ready to
signal that it is built on the Terraform SDK v2.
 4. A copy of this new Terraform provider will be kept in the
|v1| branch and backported to the Terraform SDK v1 for the
benefit of the OpenShift Installer
. We will not tag any
releases, and we will not release this backported version in
binary form.
 5. We are hosting a *community call* on the 14th of October at
13:00 UTC on this link
. Please join to
provide feedback and suggest changes to this plan.


Why are we doing this?

The original Terraform provider
 for oVirt
was written four years ago by @Maigard
 at EMSL-MSC
. The oVirt
fork of this provider is about 2 years old and went through rapid
expansion, adding a large number of features.

Unfortunately, this continuous rapid growth came at a price: the
original test infrastructure deteriorated and certain resources,
especially the virtual machine creation ballooned to a size we
feel has become unmaintainable.

If you tried to contribute to the Terraform provider recently,
you may have noticed that our review process has become extremely
slow. We can no longer run the original tests, and our end to end
test suite is not integrated outside of the OpenShift CI system.
Every change to the provider requires one of only 3 people to
review the code and also run a manual test suite that is
currently only runable on one computer.

We also noticed an increasing number of bugs reported on
OpenShift on oVirt/RHV related to the Terraform provider.

Our original plan was that we would fix the test infrastructure
and then subsequently slowly transition API calls to
go-ovirt-client, but that resulted in a PR that is over 5000
lines in code
 and
cannot in good conscience be merged in a single piece. Splitting
it up is difficult, and would likely result in broken
functionality where test coverage is not present.


What are we changing for you, the users?

First of all, documentation. You can already preview the
documentation here

.
You will notice that the provider currently only supports a small
set of features. You can find the full list of features

we are planning for the first release on GitHub. However, if you
are using resources like cluster creation, etc. these will
currently not work and we recommend sticking to the old provider
for the time being.

The second big change will be how resources are treated. Instead
of creating large resources that need to call several of the
oVirt APIs to create, we will create resources that are only
calling one API. This will lead to fewer 

[ovirt-users] Re: Important changes to the oVirt Terraform Provider

2022-01-07 Thread Janos Bonic
Hello Marek, hello everyone,

I'm sorry I didn't update you earlier. Unfortunately, we had a key team
member leave our team, which pushed back our release by some time. We are
still pursuing the matter according to the original plan and will release
the TF provider, but we will need some more time to work on it.

We'll keep the repository on GitHub updated with the developments we do.

Once again, I'm sorry for the delay.

Janos


On Wed, Jan 5, 2022, 10:03 PM marek  wrote:

> Hi,
>
> any plan for release?
>
> Marek
> Dne 06/10/2021 v 12:53 Janos Bonic napsal(a):
>
> Dear oVirt community,
>
> We are making sweeping and backwards-incompatible changes to the oVirt
> Terraform provider. *We want your feedback before we make these changes.*
>
> Here’s the short list what we would like to change, please read the
> details below.
>
>1. The current master branch will be renamed to legacy. The usage of
>this provider will be phased out within Red Hat around the end / beginning
>of next year. If you want to create a fork, we are happy to add a link to
>your fork to the readme.
>2. A new main branch will be created and a *new Terraform provider*
>written from scratch on the basis of go-ovirt-client
>. (Preview here
>) This
>provider will only have limited functionality in its first release.
>3. This new provider will be released to the Terraform registry, and
>will have full test coverage and documentation. This provider will be
>released as version v2.0.0 when ready to signal that it is built on the
>Terraform SDK v2.
>4. A copy of this new Terraform provider will be kept in the v1 branch
>and backported to the Terraform SDK v1 for the benefit of the OpenShift
>Installer . We will not tag
>any releases, and we will not release this backported version in binary
>form.
>5. We are hosting a *community call* on the 14th of October at 13:00
>UTC on this link . Please join
>to provide feedback and suggest changes to this plan.
>
> Why are we doing this?
>
> The original Terraform provider
>  for oVirt was
> written four years ago by @Maigard  at
> EMSL-MSC . The oVirt
> fork of this provider is about 2 years old and went through rapid
> expansion, adding a large number of features.
>
> Unfortunately, this continuous rapid growth came at a price: the original
> test infrastructure deteriorated and certain resources, especially the
> virtual machine creation ballooned to a size we feel has become
> unmaintainable.
>
> If you tried to contribute to the Terraform provider recently, you may
> have noticed that our review process has become extremely slow. We can no
> longer run the original tests, and our end to end test suite is not
> integrated outside of the OpenShift CI system. Every change to the provider
> requires one of only 3 people to review the code and also run a manual test
> suite that is currently only runable on one computer.
>
> We also noticed an increasing number of bugs reported on OpenShift on
> oVirt/RHV related to the Terraform provider.
>
> Our original plan was that we would fix the test infrastructure and then
> subsequently slowly transition API calls to go-ovirt-client, but that
> resulted in a PR that is over 5000 lines in code
>  and cannot
> in good conscience be merged in a single piece. Splitting it up is
> difficult, and would likely result in broken functionality where test
> coverage is not present.
> What are we changing for you, the users?
>
> First of all, documentation. You can already preview the documentation
> here
> .
> You will notice that the provider currently only supports a small set of
> features. You can find the full list of features
> 
> we are planning for the first release on GitHub. However, if you are using
> resources like cluster creation, etc. these will currently not work and we
> recommend sticking to the old provider for the time being.
>
> The second big change will be how resources are treated. Instead of
> creating large resources that need to call several of the oVirt APIs to
> create, we will create resources that are only calling one API. This will
> lead to fewer bugs. For example:
>
>- ovirt_vm will create the VM, but not attach any disks or network
>interfaces to it.
>- ovirt_disk_attachment or ovirt_disk_attachments will attach a disk
>to the VM.
>- ovirt_nic will create a network interface.
>- ovirt_vm_start will start the 

[ovirt-users] Re: Important changes to the oVirt Terraform Provider

2022-01-05 Thread marek

Hi,

any plan for release?

Marek

Dne 06/10/2021 v 12:53 Janos Bonic napsal(a):


Dear oVirt community,

We are making sweeping and backwards-incompatible changes to the oVirt 
Terraform provider. *We want your feedback before we make these changes.*


Here’s the short list what we would like to change, please read the 
details below.


 1. The current |master| branch will be renamed to |legacy|. The usage
of this provider will be phased out within Red Hat around the end
/ beginning of next year. If you want to create a fork, we are
happy to add a link to your fork to the readme.
 2. A new |main| branch will be created and a *new Terraform provider*
written from scratch on the basis of go-ovirt-client
. (Preview here
)
This provider will only have limited functionality in its first
release.
 3. This new provider will be released to the Terraform registry, and
will have full test coverage and documentation. This provider will
be released as version v2.0.0 when ready to signal that it is
built on the Terraform SDK v2.
 4. A copy of this new Terraform provider will be kept in the |v1|
branch and backported to the Terraform SDK v1 for the benefit of
the OpenShift Installer .
We will not tag any releases, and we will not release this
backported version in binary form.
 5. We are hosting a *community call* on the 14th of October at 13:00
UTC on this link . Please
join to provide feedback and suggest changes to this plan.


Why are we doing this?

The original Terraform provider 
 for oVirt was 
written four years ago by @Maigard  at 
EMSL-MSC . The 
oVirt fork of this provider is about 2 years old and went through 
rapid expansion, adding a large number of features.


Unfortunately, this continuous rapid growth came at a price: the 
original test infrastructure deteriorated and certain resources, 
especially the virtual machine creation ballooned to a size we feel 
has become unmaintainable.


If you tried to contribute to the Terraform provider recently, you may 
have noticed that our review process has become extremely slow. We can 
no longer run the original tests, and our end to end test suite is not 
integrated outside of the OpenShift CI system. Every change to the 
provider requires one of only 3 people to review the code and also run 
a manual test suite that is currently only runable on one computer.


We also noticed an increasing number of bugs reported on OpenShift on 
oVirt/RHV related to the Terraform provider.


Our original plan was that we would fix the test infrastructure and 
then subsequently slowly transition API calls to go-ovirt-client, but 
that resulted in a PR that is over 5000 lines in code 
 and 
cannot in good conscience be merged in a single piece. Splitting it up 
is difficult, and would likely result in broken functionality where 
test coverage is not present.



What are we changing for you, the users?

First of all, documentation. You can already preview the documentation 
here 
. 
You will notice that the provider currently only supports a small set 
of features. You can find the full list of features 
 
we are planning for the first release on GitHub. However, if you are 
using resources like cluster creation, etc. these will currently not 
work and we recommend sticking to the old provider for the time being.


The second big change will be how resources are treated. Instead of 
creating large resources that need to call several of the oVirt APIs 
to create, we will create resources that are only calling one API. 
This will lead to fewer bugs. For example:


  * |ovirt_vm| will create the VM, but not attach any disks or network
interfaces to it.
  * |ovirt_disk_attachment| or |ovirt_disk_attachments| will attach a
disk to the VM.
  * |ovirt_nic| will create a network interface.
  * |ovirt_vm_start| will start the virtual machine when provisioned,
stop it when deprovisioned.

You can use the |depends_on| 
 
meta-argument to make sure disks and network interfaces are attached 
before you start the VM. Alternatively, you can hot-plug network 
interfaces later. For example:


|resource "ovirt_vm" "test" { cluster_id = "some-cluster-id" 
template_id = "some-template-id" } resource "ovirt_disk" "test" { 
storagedomain_id = "some-storage-domain-id" format = "cow" size = 512 
alias = "test" sparse = true 

[ovirt-users] Re: Important changes to the oVirt Terraform Provider

2021-10-06 Thread Janos Bonic
Hello Marek,

Thank you for your feedback, VM and NIC management will be covered. I will
add your issue as a test case and I will notify you on the issue when you
can give it a go.

Your point about transition documentation is also noted, I will add a guide
outlining the changes you need to make to your code. (This will actually
come in handy for us internally too, so double thanks for the suggestion!)

Janos


On Wed, Oct 6, 2021, 5:52 PM marek  wrote:

> hi,
>
>
>
> *Which resources are the most important to you? *
>
> VM, nic
>
>
> *How does this change impact you? *
>
> rewrite current code
>
>
> *Can we make the transition smoother for you? *
>
> some transition guide/tips
>
> *Would you do anything differently in the light of the issues described
> above?*
>
> no
>
>
> p.s. thank you for terraform provider and publishing it to the terraform
> registry!
>
> p.s.2 any chance that 2.0 solve this problem ?
> https://github.com/oVirt/terraform-provider-ovirt/issues/217   ;)
>
> Marek
>
>
> Dne 06/10/2021 v 12:53 Janos Bonic napsal(a):
>
> Dear oVirt community,
>
> We are making sweeping and backwards-incompatible changes to the oVirt
> Terraform provider. *We want your feedback before we make these changes.*
>
> Here’s the short list what we would like to change, please read the
> details below.
>
>1. The current master branch will be renamed to legacy. The usage of
>this provider will be phased out within Red Hat around the end / beginning
>of next year. If you want to create a fork, we are happy to add a link to
>your fork to the readme.
>2. A new main branch will be created and a *new Terraform provider*
>written from scratch on the basis of go-ovirt-client
>. (Preview here
>) This
>provider will only have limited functionality in its first release.
>3. This new provider will be released to the Terraform registry, and
>will have full test coverage and documentation. This provider will be
>released as version v2.0.0 when ready to signal that it is built on the
>Terraform SDK v2.
>4. A copy of this new Terraform provider will be kept in the v1 branch
>and backported to the Terraform SDK v1 for the benefit of the OpenShift
>Installer . We will not tag
>any releases, and we will not release this backported version in binary
>form.
>5. We are hosting a *community call* on the 14th of October at 13:00
>UTC on this link . Please join
>to provide feedback and suggest changes to this plan.
>
> Why are we doing this?
>
> The original Terraform provider
>  for oVirt was
> written four years ago by @Maigard  at
> EMSL-MSC . The oVirt
> fork of this provider is about 2 years old and went through rapid
> expansion, adding a large number of features.
>
> Unfortunately, this continuous rapid growth came at a price: the original
> test infrastructure deteriorated and certain resources, especially the
> virtual machine creation ballooned to a size we feel has become
> unmaintainable.
>
> If you tried to contribute to the Terraform provider recently, you may
> have noticed that our review process has become extremely slow. We can no
> longer run the original tests, and our end to end test suite is not
> integrated outside of the OpenShift CI system. Every change to the provider
> requires one of only 3 people to review the code and also run a manual test
> suite that is currently only runable on one computer.
>
> We also noticed an increasing number of bugs reported on OpenShift on
> oVirt/RHV related to the Terraform provider.
>
> Our original plan was that we would fix the test infrastructure and then
> subsequently slowly transition API calls to go-ovirt-client, but that
> resulted in a PR that is over 5000 lines in code
>  and cannot
> in good conscience be merged in a single piece. Splitting it up is
> difficult, and would likely result in broken functionality where test
> coverage is not present.
> What are we changing for you, the users?
>
> First of all, documentation. You can already preview the documentation
> here
> .
> You will notice that the provider currently only supports a small set of
> features. You can find the full list of features
> 
> we are planning for the first release on GitHub. However, if you are using
> resources like cluster creation, etc. these will currently not work and we
> recommend sticking to the old provider for the time being.
>
> The second big change will be how resources are 

[ovirt-users] Re: Important changes to the oVirt Terraform Provider

2021-10-06 Thread marek

hi,

*
*

*Which resources are the most important to you?
*

VM, nic*
*

*How does this change impact you?
*

rewrite current code
**

*Can we make the transition smoother for you?
*

some transition guide/tips
**

*Would you do anything differently in the light of the issues described 
above?*


no


p.s. thank you for terraform provider and publishing it to the terraform 
registry!


p.s.2 any chance that 2.0 solve this problem ? 
https://github.com/oVirt/terraform-provider-ovirt/issues/217   ;)


Marek


Dne 06/10/2021 v 12:53 Janos Bonic napsal(a):


Dear oVirt community,

We are making sweeping and backwards-incompatible changes to the oVirt 
Terraform provider. *We want your feedback before we make these changes.*


Here’s the short list what we would like to change, please read the 
details below.


 1. The current |master| branch will be renamed to |legacy|. The usage
of this provider will be phased out within Red Hat around the end
/ beginning of next year. If you want to create a fork, we are
happy to add a link to your fork to the readme.
 2. A new |main| branch will be created and a *new Terraform provider*
written from scratch on the basis of go-ovirt-client
. (Preview here
)
This provider will only have limited functionality in its first
release.
 3. This new provider will be released to the Terraform registry, and
will have full test coverage and documentation. This provider will
be released as version v2.0.0 when ready to signal that it is
built on the Terraform SDK v2.
 4. A copy of this new Terraform provider will be kept in the |v1|
branch and backported to the Terraform SDK v1 for the benefit of
the OpenShift Installer .
We will not tag any releases, and we will not release this
backported version in binary form.
 5. We are hosting a *community call* on the 14th of October at 13:00
UTC on this link . Please
join to provide feedback and suggest changes to this plan.


Why are we doing this?

The original Terraform provider 
 for oVirt was 
written four years ago by @Maigard  at 
EMSL-MSC . The 
oVirt fork of this provider is about 2 years old and went through 
rapid expansion, adding a large number of features.


Unfortunately, this continuous rapid growth came at a price: the 
original test infrastructure deteriorated and certain resources, 
especially the virtual machine creation ballooned to a size we feel 
has become unmaintainable.


If you tried to contribute to the Terraform provider recently, you may 
have noticed that our review process has become extremely slow. We can 
no longer run the original tests, and our end to end test suite is not 
integrated outside of the OpenShift CI system. Every change to the 
provider requires one of only 3 people to review the code and also run 
a manual test suite that is currently only runable on one computer.


We also noticed an increasing number of bugs reported on OpenShift on 
oVirt/RHV related to the Terraform provider.


Our original plan was that we would fix the test infrastructure and 
then subsequently slowly transition API calls to go-ovirt-client, but 
that resulted in a PR that is over 5000 lines in code 
 and 
cannot in good conscience be merged in a single piece. Splitting it up 
is difficult, and would likely result in broken functionality where 
test coverage is not present.



What are we changing for you, the users?

First of all, documentation. You can already preview the documentation 
here 
. 
You will notice that the provider currently only supports a small set 
of features. You can find the full list of features 
 
we are planning for the first release on GitHub. However, if you are 
using resources like cluster creation, etc. these will currently not 
work and we recommend sticking to the old provider for the time being.


The second big change will be how resources are treated. Instead of 
creating large resources that need to call several of the oVirt APIs 
to create, we will create resources that are only calling one API. 
This will lead to fewer bugs. For example:


  * |ovirt_vm| will create the VM, but not attach any disks or network
interfaces to it.
  * |ovirt_disk_attachment| or |ovirt_disk_attachments| will attach a
disk to the VM.
  * |ovirt_nic| will create a network interface.
  * |ovirt_vm_start| will start the virtual machine when provisioned,
stop it when deprovisioned.

You can use the